2017-07-28 4 views
0

J'ai créé un Scene1 dans l'éditeur de Scènes de Xcode. Et j'ai référencé une autre scène qui a de l'animation pour cette Scene1.Coulée d'un SKSpriteNode dans un SKReferenceNode

Maintenant, j'essaie de chasser un SKSpriteNode qui se trouve dans un SKReferenceNode. Le nom du SKSpriteNode que j'essaie de lancer, sur une scène qui était des références est: "sc01eyelid".

Des suggestions que je pourrais faire mal ici?

merci d'avance.

import SpriteKit 
import GameplayKit 

class Scene1: SKScene { 
    var misha: SKReferenceNode = SKReferenceNode() 
    var eyelidForScene1:SKSpriteNode = SKSpriteNode() 

override func didMove(to view: SKView) {   
    castMishaForScene1() 
    castOutEyelid() 
} 

//Casting out misha 
func castMishaForScene1() { 
    if let someSpriteNode:SKReferenceNode = self.childNode(withName: "mishaRefNode") as? SKReferenceNode { 
     misha = someSpriteNode 
     print("CASTED\(misha)") 
    } 
    else { 
     print("could not cast\(misha)") 
    } 
} 

//Casting out eyelid 
func castOutEyelid() { 
    if let someSpriteNode:SKSpriteNode = misha.childNode(withName: "sc01eyelid") as? SKSpriteNode { 
     eyelidForScene1 = someSpriteNode 
     print("CASTED\(eyelidForScene1)") 
    } 
    else { 
     print("could not cast\(eyelidForScene1)") 
    } 
} 
} 

Répondre

0

Pour accéder à un nœud de celui SKRefference a besoin de mettre plus « // » dans l'instruction withName:

if let someSpriteNode:SKSpriteNode = misha.childNode(withName: "//sc01eyelid") as? SKSpriteNode {} 

Alors withName: « // sc01eyelid » travaillerait pour accéder au Sc01eyelid Node.

Plus d'informations ici: https://developer.apple.com/documentation/spritekit/sknode