Je voudrais ajouter un SKScene à mon GameScene principal. SKReferenceNode semble être une bonne solution.Ajouter SKReferenceNode/SKScene à un autre SKScene dans SpriteKit
J'ai: - GameScene.sks (scène principale) - Countdown.sks (scène à ajouter à GameScene) - Countdown.swift (classe personnalisée, comment il fait pour initialiser SKScene SKReferenceNode SKNode??)
Je ne sais pas comment ajouter par programme mon compte à rebours en utilisant mon compte à rebours de classe.
J'ai essayé:
let path = Bundle.main.path(forResource: "Countdown", ofType: "sks")
let cd = SKReferenceNode (url: NSURL (fileURLWithPath: path!) as URL) as! Countdown
cd.name = "countdown"
self.addChild(cd)
Mais j'ai l'erreur suivante:
Could not cast value of type 'SKReferenceNode' (0x10d97ad88) to 'LYT.Countdown' (0x10a5709d0
J'ai aussi essayé quelque chose de plus simple comme:
let cd=Countdown(scene:self)
self.addChild(cd)
Mais je ne sais pas comment init de la classe en utilisant le fichier Countdown.sks.
Je sais que j'ai aussi la possibilité de créer une classe SKNode, et init 100% par programmation, mais il est vraiment important pour moi d'utiliser le fichier .sks associé afin d'utiliser l'éditeur de scène Xcode.
Sons comme vous compte à rebours est en utilisant la mise à jour de func? Parce que vous ne pouvez pas ajouter 2 SKScene en un, mais vous pouvez sous-classer Countdown comme SKSpriteNode ou SKNode et l'utiliser dans SKReferenceNode –
@SimonePistecchia J'ai essayé "class Countdown: SKReferenceNode", si je sous-classe dans SKNode, comment puis-je faire pour créer et init mon noeud en utilisant le fichier sks? – cmii