[英]Swift: Load the SKScene from GameMenu.sks doesn't work
我有問題,GameViewController不會加載我的GameMenu。 如果我模擬我的應用程序,它將僅顯示帶有node:0和fps計數的灰屏。
這里是GameViewController.swift中的代碼:
import UIKit
import SpriteKit
import GameplayKit
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
if let scene = GameMenu(fileNamed: "GameMenu") {
// Set the scale mode to scale to fit the window
scene.scaleMode = .aspectFill
// Present the scene
view.presentScene(scene)
}
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
}
我也嘗試了這一行:
if let scene = SKScene(fileNamed: "GameMenu")
但它什么也沒改變。
我還將自定義類“ GameMenu”添加到GameMenu.sks
我認為問題在於if let scene = SKScene(fileNamed: "GameMenu")
行。 我已經讀過很多關於這個問題的書,但是我的情況沒有成功。
我也試過這個:
class GameViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
if let gkScene = GKScene(fileNamed: "GameMenu.sks") {
if let skScene = gkScene.rootNode as? SKScene {
// Set the scale mode to scale to fit the window
skScene.scaleMode = .aspectFill
// Present the scene
view.presentScene(skScene)
}
}
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
}
但什么也沒發生。
你必須把它作為加載GKScene
從.sks
文件,並得到SKScene
從它的rootNode
的屬性。
if let gkScene = GKScene(fileNamed: "GameMenu") {
if let skScene = gkScene.rootNode as? SKScene {
// TODO
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.