2017-05-21 4 views
1

Dans GameViewController, je souhaite accéder aux méthodes d'un de mes SKScenes. Sa classe est appelée PlayScene. J'ai essayé de trouver une solution, mais je n'y suis pas parvenu. J'essaie des choses comme let gameScene = self.something.something as! PlaySceneAppel de la méthode SKScene à partir de GameViewController

J'ai également essayé d'utiliser let scene = SKScene(fileNamed: "GameScene") mais quand j'ai essayé d'appeler la méthode il a dit quelque chose comme "identificateur non résolu." J'utilise ça quand je présente cette scène, alors j'ai pensé que ça marcherait.

Suis-je proche? Comment puis-je accéder à ma classe SKScene à partir de GameViewController?

Répondre

0

Vous avez juste besoin de lancer le SKScene en tant que PlayScene.

let playScene = SKScene(fileNamed: "GameScene") as? PlayScene 

Maintenant, le compilateur sait que votre SkScene est aussi un PlayScene, et vous pouvez appeler des méthodes PlayScene là-dessus.

+0

Comment cette réponse change-t-elle si j'ai besoin d'une instance spécifique de PlayScene? – Taylor

+1

Je suppose que vous voulez la scène que votre 'SKView' présente? Vous devriez avoir une référence dans le 'GameViewController'. Il suffit de le stocker comme une propriété. – nathan

+0

Oui, c'est correct. Donc pour ce cas, j'utiliserais 'self' d'une façon ou d'une autre, non? – Taylor