使用Sprite Kit为图像分配整数值

时间:2014-04-05 08:27:06

标签: ios objective-c sprite-kit

我是iOS Sprite Kit 的新用户,并尝试使用数字创建游戏。

是否可以为图像指定一个整数值,以便当我触摸图像1时,我会在屏幕上看到该值?

1 个答案:

答案 0 :(得分:1)

根据您的需要,您必须创建SKSpriteNode的子类并更改其纹理UIImageView并更改其图片关于号码。

  1. 创建您自己的UIImageViewSKSpriteNode的子类。

    @interface NumberImageView : UIImageView
    @end
    
    or
    
    @interface NumberSpriteNode : SKSpriteNode
    @end
    
  2. 创建属性以存储号码

    @property(nonatomic, assign) NSUInteger number;
    
  3. 将<{1}}方法实施为处理点击事件。

    touchesEnded:
  4. 根据数值设置图片

    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
    {
        [super touchesEnded:touches withEvent:event];
    
        UITouch *touch = [touches anyObject];
    
        if (touch.tapCount == 1)
        {
            [self setImageForCurrentNumber];
        }
    }
    
  5. 您还需要将- (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