6

我在一个 SKSpriteNode(名称:正方形)和一个 SKLabel(名称:标签)内创建了一个场景 Case.sks(使用关卡编辑器)。在我的主要场景 GameScene.sks 中,我使用带有“Case”的 SKReferenceNode 作为参考。

我需要从我的主场景中访问“方形”精灵。

我的第一个想法是直接调用子节点:

 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

如何获得参考场景的子节点?

4

1 回答 1

9

尝试使用以下代码调用它:

override func sceneDidLoad() {
     if let sprite = self.childNode(withName: "//square") as? SKSpriteNode {
           // do whatever you want with the sprite
     }
     ...
}
于 2016-08-08T14:04:39.517 回答