1
我有一個相當特殊的問題。我曾經使用默認代碼從視圖控制器呈現我的遊戲場景。但是我加了另一個SKScene,並從使用此代碼我現在提出我的遊戲場景:從另一個SKScene展示的SKScene無法從SKS文件加載
//In an SKScene (not Game scene)
let scene = GameScene()
let skView = self.view!
skView.ignoresSiblingOrder = true
scene.scaleMode = .aspectFit
let push = SKTransition.push(with: SKTransitionDirection.right, duration: 0.4)
skView.presentScene(scene, transition: push)
我的問題是,我的遊戲場景似乎不再認識我的SKS文件,當我運行的代碼行:
//in gamescene
sprite = self.childNode(withName: "sprite") as! SKLabelNode
展開時沒有找到任何東西。 當我使用的代碼介紹我SKScene從GameViewController:
if let scene = GKScene(fileNamed: "GameScene") {
// Get the SKScene from the loaded GKScene
if let sceneNode = scene.rootNode as! GameScene? {
// Copy gameplay related content over to the scene
sceneNode.entities = scene.entities
sceneNode.graphs = scene.graphs
// Set the scale mode to scale to fit the window
sceneNode.scaleMode = .aspectFit
// Present the scene
if let view = self.view as! SKView? {
view.presentScene(sceneNode)
view.ignoresSiblingOrder = true
}
}
}
一切正常。我究竟做錯了什麼?提前致謝。
需要更多的上下文才能瞭解正在發生的事情。看起來你正在用'UIViewController'編寫這段代碼(這是否正確?)如果是這樣的話。當你寫'self.childNode()...'不會自引用一個'UIViewController'?不應該是'scene.childNode()'?你怎麼在第一個地方添加子節點? – Acoop
@Acoop我更新了我的問題。感謝評論,如果您需要更多信息,請詢問。 – joshLor
謝謝。你如何實例化精靈開始?爲什麼你在第一個內創建第二個'SKView',然後替換'view'? – Acoop