Ios 我怎样才能知道什么精灵被碰过?

Ios 我怎样才能知道什么精灵被碰过?,ios,objective-c,sprite-kit,Ios,Objective C,Sprite Kit,我有一些精灵从屏幕底部随机排列。我想沿着刷子的方向刷雪碧。我得到了刷卡的算法。此外,每当触摸屏幕上的任何精灵时,我都会收到一条NSLog消息。NSLog对触摸到的任何对象都给出正确的响应。但是,我怎么知道哪个精灵被刷过来编写将冲动应用于特定精灵的代码呢 我正在尝试以下代码: SKNode *sprite = [self nodeAtPoint:location]; [ball.physicsBody applyImpulse:CGVec

我有一些精灵从屏幕底部随机排列。我想沿着刷子的方向刷雪碧。我得到了刷卡的算法。此外,每当触摸屏幕上的任何精灵时,我都会收到一条NSLog消息。NSLog对触摸到的任何对象都给出正确的响应。但是,我怎么知道哪个精灵被刷过来编写将冲动应用于特定精灵的代码呢

我正在尝试以下代码:

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

userInteractionEnabled=对所有精灵都是

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

对不起,如果这太愚蠢了,我是个笨蛋


提前谢谢

您需要将精灵的名称与name属性一起使用:

node.name = @"nodeName";



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

我希望这就是您一直在寻找的,如果不是,我会一直在这里帮助您。

您需要将精灵的名称与name属性一起使用:

node.name = @"nodeName";



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

我希望这就是您一直在寻找的,如果不是,我会一直在这里帮助您。

您需要将精灵的名称与name属性一起使用:

node.name = @"nodeName";



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

我希望这就是您一直在寻找的,如果不是,我会一直在这里帮助您。

您需要将精灵的名称与name属性一起使用:

node.name = @"nodeName";



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

我希望这就是你一直在寻找的,如果不是的话,我总是在这里帮助你。

可能重复的可能重复的可能重复的可能重复的好的,所以我尝试了。但我不知道它是否到达那里。我添加了以下代码以向已被刷过的精灵添加脉冲:如果([node.name isEqualToString:@“sprite”]){[sprite.physicsBody applyImpulse:CGVectorMake(dx,dy)atPoint:location];}如果使用node.physicsBody,我不需要添加节点吗?仍然没有应用任何脉冲:(好的,所以我试过了。但是我不知道它是否到达了那里。我添加了以下代码来向已被刷过的精灵添加脉冲:if([node.name IsequalString:@“sprite”]){[sprite.physicsBody applyImpulse:CGVectorMake(dx,dy)atPoint:location]}如果我使用node.physicsBody,我不是必须添加node吗?而且仍然没有应用脉冲:(好的,所以我尝试了。但是我不知道它是否到达那里。我添加了以下代码来向已被刷过的精灵添加脉冲:if([node.name IsequalString:@“sprite”]){[sprite.physicsBody applyImpulse:CGVectorMake(dx,dy)atPoint:location];}如果我使用node.physicsBody,我不需要添加节点吗?仍然没有应用脉冲:(好的,所以我试过了。但是我不知道它是否到达了那里。我添加了以下代码来向已被刷过的精灵添加脉冲:if([node.name IsequalString:@“sprite”){[sprite.physicsBody applyImpulse:CGVectorMake(dx,dy)atPoint:location];}如果我使用node.physicsBody,我不需要添加节点吗?但仍然没有应用脉冲:(