我正在继承SKSpriteNode类以在自定义精灵上使用。我想尽可能保持一切自足。
有没有办法让SKSpriteNode知道它何时在场景中使用?我的意思是,假设另一个班级做到了这一点:
MySprite *sprite = [[MySprite alloc] init];
以及之后的年龄
[self addChild:sprite];
当精灵被添加为某个场景或其他节点的子节点时,精灵可以自己知道吗?
答案 0 :(得分:1)
SKNode有一个名为scene的属性。如果此属性返回nil,则表示它不在任何场景中。您可以执行以下操作来检查。
if(!MyNode.scene){
//Do something
}
您也可以在SKNode Doc上查看。 https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SKNode_Ref/Reference/Reference.html