触摸时更改节点图像

时间:2014-04-20 17:00:24

标签: ios objective-c sprite-kit

我遇到了一个问题,我希望我的节点在点击时更改纹理(图像),目前它会更改下一个产卵节点纹理而不是被点击的纹理。

我不确定为什么会发生这种情况,因为我无法看到错误,我无法尝试修复它。

我一直尝试不同的解决方案但没有成功,我发布了一个包含所有源代码的GIST和一个显示问题的YouTube视频。

如果有人......那里的任何人都可以帮我解决这个问题,我感激不尽!

对于要点很抱歉,但是它有很多代码,将它粘贴在这里会很困惑。

谢谢!

1 个答案:

答案 0 :(得分:0)

您需要做的就是touchesBegan方法中的以下内容:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [touches anyObject];
    CGPoint positionInScene = [touch locationInNode:self];
    SKSpriteNode *touchedNode = (SKSpriteNode *)[self nodeAtPoint:touchLocation]; 
    // Now that we have our touchedNode instance set the texture.
    touchedNode.texture = [SKTexture textureWithImageNamed:@"rescued"];
}