在 SpriteKit 中获取 SKReferenceNode 的子节点 SWIFT
Get child node of SKReferenceNode in SpriteKit SWIFT
我创建了一个场景Case.sks(使用关卡编辑器),在一个 SKSpriteNode(名称:方形)和一个 SKLabel(名称:标签)中。
在我的主场景中,GameScene.sks,我使用了一个带"Case"的SKReferenceNode作为参考。
我需要从我的主场景访问 "square" 精灵。
我的第一个想法是直接调用子节点:
let firstSquare = childNode(withName: "square") as! SKSpriteNode
但我得到了:
Fatal error: unexpectedly found nil while unwrapping an Optional value
所以我试过了:
let caseRef = childNode(withName: "Case") as! SKReferenceNode
let firstSquare = caseRef.childNode(withName: "square") as! SKSpriteNode
但我上了 firstSquare 行:
Fatal error: unexpectedly found nil while unwrapping an Optional value
如何获取参考场景的子节点?
尝试使用以下代码调用它:
override func sceneDidLoad() {
if let sprite = self.childNode(withName: "//square") as? SKSpriteNode {
// do whatever you want with the sprite
}
...
}
我创建了一个场景Case.sks(使用关卡编辑器),在一个 SKSpriteNode(名称:方形)和一个 SKLabel(名称:标签)中。 在我的主场景中,GameScene.sks,我使用了一个带"Case"的SKReferenceNode作为参考。
我需要从我的主场景访问 "square" 精灵。
我的第一个想法是直接调用子节点:
let firstSquare = childNode(withName: "square") as! SKSpriteNode
但我得到了:
Fatal error: unexpectedly found nil while unwrapping an Optional value
所以我试过了:
let caseRef = childNode(withName: "Case") as! SKReferenceNode
let firstSquare = caseRef.childNode(withName: "square") as! SKSpriteNode
但我上了 firstSquare 行:
Fatal error: unexpectedly found nil while unwrapping an Optional value
如何获取参考场景的子节点?
尝试使用以下代码调用它:
override func sceneDidLoad() {
if let sprite = self.childNode(withName: "//square") as? SKSpriteNode {
// do whatever you want with the sprite
}
...
}