Je prévois de réaliser un jeu d'arcade dans lequel l'écran est divisé en deux moitiés. Chaque arrière-plan de cette moitié peut varier chaque fois que le joueur commence la partie. Je voulais concevoir mes arrière-plans dans différents fichiers .sks, puis en charger aléatoirement deux dans mon GameScene en utilisant le SKReferenceNode par programmation.Problème d'utilisation de SKReferenceNode par programmation
Le problème est que la teneur en SKS est traité comme un SKScene, et donc il ne peut évidemment pas être ajouté comme enfant de ma scène:
class GameScene: SKScene {
override func didMove(to view: SKView) {
let upperBackground = SKReferenceNode(fileNamed: "Caribbeans")!
addChild(upperBackground)
}
}
Je me demande s'il y a un moyen de faire le compilateur traite mon SKReferenceNode comme un SKSpriteNode, mais l'essai de downcast ne fonctionne pas puisque SKReferenceNode et SKSpriteNode ne sont pas liés. Je sais que cela fonctionne chaque fois que je crée une scène sks plus grande, que je fais glisser deux SKReferenceNodes et que je place leurs références sur un seul fond, mais le problème est que je veux faire une sélection aléatoire de deux arrière-plans qui varient à chaque fois. donc je dois trouver un moyen de contourner ce problème par programme et non par l'éditeur de scène.
Des suggestions?