2017-07-28 3 views
0

私はXcodeのシーンエディタでScene1を構築しました。そして、私はこのScene1にアニメーションを持つ別のシーンを参照しました。SKReferenceNodeでSKSpriteNodeをキャストする

今、SKReferenceNodeの内側にあるSKSpriteNodeをキャストアウトしようとしています。 参照していたシーンで、キャストしようとしているSKSpriteNodeの名前は "sc01eyelid"です。

ここで間違っていると思われることはありますか?

ありがとうございます。

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

のでwithName:SKRefferenceの1の任意のノードにアクセスするために

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)") 
    } 
} 
} 

答えて

関連する問題