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