2015-10-21 55 views
1

我在GameScene类中创建了SKCameraNode,并将其添加为SKSpriteNodes。然后我将GameScene相机设置为SKCameraNode。使用Swift从不同类访问SKCameraNode

我有另一个称为Player类型SKNode的自定义类。从这个类中,我需要访问GameScene中SKCameraNode中的按钮节点。我怎样才能做到这一点?

我无法在我的Player类中创建GameScene类的实例,因为它需要size参数,如果我这样做了,我会有两个不同的GameScene类实例。

赞赏任何帮助...

回答

2

一旦你添加您的播放器到现场,那么你总是有机会到现场。添加播放器之后,您必须确保并尝试访问场景,否则此代码会使您的游戏崩溃。

您的播放器类中,你可以去

(self.scene as! GameScene).yourCameraNode 

假设yourCameraNode是GameScene

的属性
+0

哇,太容易了!谢谢!我总是忘记使用as!很难知道什么时候投出,什么时候不投。有什么区别:self.scene&self.scene as! GameScene ??他们显然是指不同的对象? – TazmanNZL

+1

当您尝试访问某种特定于该类型对象的属性或方法时,您需要进行强制转换 – hamobi