我是SKSpritenode的子类,需要引用sprite的场景。有没有办法检测精灵何时被添加到场景中。
let gameScene = self.scene as GameScene
在init中执行此操作会抛出可选错误,因为我的sprite已经实例化但未添加到场景中。如何判断我的精灵何时被添加到场景中以便我可以设置属性?
答案 0 :(得分:1)
通常我创建addToNode:(SKNode *)parentNode
方法来处理:
- (void)addtoNode:(SKNode *)parentNode {
[parentNode addChild:self];
// Do what you need here
}
答案 1 :(得分:0)
只需使用警卫
guard let scene = self.scene as? GameScene
else
{
return
}
//Everything beyond here is safe to use scene