我是iOS Sprite Kit 的新用户,并尝试使用数字创建游戏。
是否可以为图像指定一个整数值,以便当我触摸图像1
时,我会在屏幕上看到该值?
答案 0 :(得分:1)
根据您的需要,您必须创建SKSpriteNode
的子类并更改其纹理或UIImageView
并更改其图片关于号码。
创建您自己的UIImageView
或SKSpriteNode
的子类。
@interface NumberImageView : UIImageView
@end
or
@interface NumberSpriteNode : SKSpriteNode
@end
创建属性以存储号码
@property(nonatomic, assign) NSUInteger number;
将<{1}}方法实施为处理点击事件。
touchesEnded:
根据数值设置图片。
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
[super touchesEnded:touches withEvent:event];
UITouch *touch = [touches anyObject];
if (touch.tapCount == 1)
{
[self setImageForCurrentNumber];
}
}
您还需要将- (void)setImageForCurrentNumber
{
switch (_number)
{
case 1:
self.image = [UIImage imageNamed:@"Image1"];
break;
case 2:
self.image = [UIImage imageNamed:@"Image2"];
break;
default:
self.image = [UIImage imageNamed:@"Image"];
break;
}
}
或userInteractionEnabled
的 UIImageView
属性设置为SKSpriteNode
,以便他们可以检测到触摸事件。您可以使用YES
方法执行此操作。
示例:
init