Sprite Kit如何让网格中的特定节点执行动作?

时间:2014-08-13 16:25:06

标签: ios xcode sprite-kit nodes sprite

我在我的场景中展开的一个类别中有25个相同的精灵,使用for循环创建。我希望能够单击一个特定的精灵,例如,开始旋转该精灵。我是否必须为每个节点制作非原子属性?

1 个答案:

答案 0 :(得分:3)

您可以使用- (SKNode *)nodeAtPoint:(CGPoint)p SKNode({1}}继承的类)的SKScene方法来精确定位特定节点。假设您有25个关于屏幕的随机节点,并且您希望其中一个节点执行操作,则必须找到触摸位置,然后在该位置找到该节点,然后使其执行操作。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    CGPoint touchLocation = [[touches anyObject] locationInNode:self];
    SKNode *specificNode = [self nodeAtPoint:touchLocation];
    // make specificNode perform some SKAction
}