我遇到一个问题,我想让我的节点在点击时更改texture(image),当前它会更改下一个生成节点的纹理,而不是被点击的那个。

我不确定为什么会这样,并且由于我看不到出什么毛病,所以我无法尝试修复它。

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

如果有人....那里有人可以帮助我解决这个问题,我就不会心存感激!

抱歉,要点很重要,但是有很多代码,将其粘贴到此处会令人困惑。

谢谢!

===============>>#1 票数: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"];
}

  ask by user3554385 translate from so

未解决问题?本站智能推荐:

1回复

更改节点方向

我正在开发一款几乎像突破的游戏,并考虑到球击中桨的位置应该改变方向。 这是一部杰作,用以说明我要尝试实现的功能。 我已经能够获得球击中桨的位置。 有什么想法吗?
2回复

触摸时更改图像

我需要一幅图像来改变自己。 目前,更改的图像是下一个生成的图像,而不是自身。 就像我之前说的,我需要使用自定义精灵来更改纹理,而不是“下一个生成精灵”。 修复此问题的任何帮助将不胜感激,谢谢。
2回复

如何在不使用SpriteKit的操作的情况下更改节点的位置?

我有2个类(在这里很重要),一个Player类和一个GameScene类。 我在GameScene类中有一个方法( createSceneContents ),该方法由didMoveToView调用 。 在createSceneContents类中,我从Player类中调用了一个名为newP
2回复

如何限制节点在触摸时的外观

我有一个名为“ sprite”的节点,当我触摸屏幕时,它在特定的x轴上显示1秒钟,在该“ sprite”节点消失后,我想使屏幕上只能同时是两个“ sprite”节点并且它们不能在同一地点。.因为现在我可以添加“ sprite”节点,就像我的手指可以在屏幕上轻击一样。 这是我现在得到的:
1回复

SpriteKit触摸后更改位置

我试图在触摸屏幕的一半后更改节点的位置。 我有3个确切的点,我希望节点在它们之间移动。 为了检测节点在哪里,我创建了BOOL。 我的代码无法正常工作。如果Node在Point 3上,并且我点击屏幕左侧,它会转到Point 1而不是Point2。如果我将Update Method更改为N
1回复

SpriteKit节点选择和触摸管理

我正在写一个小的Sprite-Kit游戏。 屏幕上将有几个节点。 当用户点击其中之一时,它将被选中。 我通过在我使用的SKSpriteNode子类上实现touched确实开始来做到这一点(它将另一个叠加节点添加到被轻击的节点以表明它已被选中)。 用户应该能够通过点击选择另一个节点。
1回复

SpriteKit / Objective-C-节点内部的触摸检测

我正在使用Objective-C在SpriteKit中制作游戏。 我有一个继承SKNode的类: 然后,我在此类内声明了SKSpriteNodes并将其添加为子代: 然后,我创建一个Card对象,并将其作为孩子添加到我的主GameScene中。 我想知道如何在Card对象内的
1回复

碰撞后如何更改触摸效果-Sprite Kit

我对Objective C还是很陌生,希望有人可以帮助我解决我的问题: 当我触摸显示器时,有一个字符向右跳。 如果它触摸场景的右侧,则每次我触摸时,它都应改变方向并跳到左侧。 这是跳转到右侧的代码: (我什至应该使用touchesBegan方法吗?) 如果角色触摸屏幕的右
1回复

SpriteKit为一个节点更改SKAction

我尝试让节点在特定的系统时间后更快地移动。 例如,在30秒后,节点移动得更快。 在我的项目中,BOOL Faster是正确的。 使用我的代码,节点将移动得更快,但是已经产生的节点仍使用旧的SKAction。 因此,如果有2个节点的移动速度比所产生的节点的移动速度慢,则这看起来很奇怪。
4回复

更改SKSpriteNode图像

我是精灵套件的新手,并且在更改当前的SKSpriteNode图像方面存在问题。 我的spriteNode看起来像这样 那么我有这种方法应该改变移动者的形象,但事实并非如此。 我究竟做错了什么?