Gamescene.sks和GameScene.swift似乎并没有在我的项目中链接

时间:2016-11-13 02:30:11

标签: ios swift sprite-kit swift3

我正在学习SpriteKit并使用关卡编辑器启动了一个小项目。

然而,由于某些原因,GameScene.swift和GameScene.sks似乎没有联系。下面是.sks文件设置的截图和.swift文件的viewDidLoad中的小打印语句。请让我知道我做错了什么。或者如果我遗失了什么。

SKS File.

spritekit .sks文件。

Swift File

Output

我的视图控制器的viewDidLoad功能。

    class GameViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let screenSize = CGSize(width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height)
        GameController.gameController.setGameManager(gameViewManager: self);

        if let view = self.view as! SKView? {
            // Load the SKScene from 'GameScene.sks'
            if let scene = SKScene(fileNamed: "GameScene") {

                // Set the scale mode to scale to fit the window
                scene.scaleMode = .aspectFill

                // Present the scene
                view.presentScene(scene)

            }
        }
    }

1 个答案:

答案 0 :(得分:1)

我们有一个正常的GameScene.swift应该打印"你好"他的GameScene.sksGameViewController调用。您没有指定GameController是什么,但这不是问题,因为我认为您可能只是失去了游戏的流量,所以我试着帮助您(不要担心, 当你长时间专注于游戏的其余部分并且不记得起始流程时,就会发生这种情况。)

Main.storyboard你可能不会遇到这样的情况:

enter image description here

enter image description here

您的GameViewController 是初始视图控制器。 我的意思是,您应该在调用GameViewController之前检查谁在您的情节提要上致电AppDelegate.swift,或者didFinishLaunchingWithOptions(在GameViewController中)停止流程或致电其他观看。

因此,请检查谁是 IVC (初始视图控制器)并确保从开始或使用断点的其他viewControllers调用GameViewController,或者只是在{{{ 1}}:

viewDidLoad

在库中添加或删除具有相同名称的文件时,可能会发生另一种情况。在这种情况下,尝试删除print("∙ \(type(of: self))") GameScene.swift,清理并构建项目并重新添加这些文件(确保您的屏幕GameScene.sks具有正确的自定义类..) 检查编译来源列表以控制您的GameScene.sks

enter image description here

希望它有所帮助。