【发布时间】:2017-05-25 14:56:28
【问题描述】:
我正计划制作一款将屏幕分成两半的街机游戏。 每次玩家开始游戏时,这一半的背景都会有所不同。
我想将我的背景设计成不同的 .sks 文件,然后以编程方式使用 SKReferenceNode 将其中两个随机加载到我的 GameScene 中。
问题在于 sks 内容被视为 SKScene,因此显然不能将其添加为我的场景的子节点:
class GameScene: SKScene {
override func didMove(to view: SKView) {
let upperBackground = SKReferenceNode(fileNamed: "Caribbeans")!
addChild(upperBackground)
}
}
我想知道是否有办法让编译器将我的 SKReferenceNode 视为 SKSpriteNode,但尝试向下转换不起作用,因为 SKReferenceNode 和 SKSpriteNode 不相关。
我知道每当我创建一个更大的 sks 场景、拖动两个 SKReferenceNodes 然后将它们的引用设置为单个背景时它都会起作用,但问题是我想随机选择两个每次都不同的背景,所以我必须找到一种方法来以编程方式而不是通过场景编辑器来解决这个问题。
有什么建议吗?
【问题讨论】:
标签: swift skreferencenode