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