我怎样才能知道哪些精灵被触摸过?

时间:2015-02-03 14:10:59

标签: ios objective-c sprite-kit

我有一些精灵以随机顺序从屏幕底部出来。我想在滑动方向上滑动精灵。我有刷卡的算法。此外,只要在屏幕上触摸了任何精灵,我就会收到NSLog消息。 NSLog对触摸的任何对象给出正确的响应。但是我如何知道哪个精灵被刷过以编写将脉冲应用于该特定精灵的代码?

我正在尝试以下代码:

               SKNode *sprite = [self nodeAtPoint:location];
               [ball.physicsBody applyImpulse:CGVectorMake(dx, dy) atPoint:location];
               [self addChild:sprite];

此外,

所有精灵的

userInteractionEnabled = YES

并且所有的精灵都在执行一个动作(以防万一这就是为什么我在他们已经在运行动作时不能刷它们的原因,在这种情况下我应该用什么来移动精灵?)

对不起,如果这太愚蠢了,我就是菜鸟

提前致谢!

1 个答案:

答案 0 :(得分:3)

您需要使用名为property的精灵的名称:

node.name = @"nodeName";



for(SKNode *node in [self nodesAtPoint:location])
{
    if([node.name isEqualToString:@"nodeName"])
        {
            // your custom code here
        }
}

我希望这就是你所寻找的,如果不是我总是在这里帮忙。