[ios]Gamescene.sks 和 GameScene.swift 似乎并不在我的项目链接

标签: sprite-kit ios Swift
发布时间: 2017/4/3 22:58:25
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我正在学习 SpriteKit,开始使用关卡编辑器的小项目。

然而,GameScene.swift 和 GameScene.sks 似乎并不出于某种原因联系起来。下面是.sks 文件设置和小 print 语句中的 viewDidLoad 截图。 swift文件。请让我知道自己在做什么错。或如果我失去了一些东西。

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:

我们有一颗平常 GameScene.swift ,应该是打印"你好"与他 GameScene.sks 由调用 GameViewController 。您没有指定什么是 GameController 但这不是一个问题,因为我觉得所以我试着帮你关于它可能只是失去了你的游戏的流动 (不要 ' 担心,它会发生当你集中在剩下的比赛很长时间,可以不记得起始流)。

在你 Main.storyboard 你可能没有这样的情况︰

enter image description here

enter image description here

在那里你 GameViewController 是初始视图控制器。 我的意思是你应该检查谁叫 GameViewController 上你 storyboard 或如果你 AppDelegate.swift (在 didFinishLaunchingWithOptions ) 停止流动或调用其他视图之前调用 GameViewController

所以,看看是谁下腔静脉(初始视图控制器),确信你 GameViewController 从开始或通过使用断点其他 viewControllers 调用或只需启动此打印在你 viewDidLoad :

print("∙ \(type(of: self))")

当您添加或删除库中的文件具有相同名称时,可能发生另一种情况。在这种情况下尝试删除 GameScene.swiftGameScene.sks 、 清洁和生成项目和重新添加这些文件 (当然你的屏幕上 GameScene.sks 有权自定义类。。) 检查您编译源列表来控制你GameScene.swift

enter image description here

希望它能帮助。

官方微信
官方QQ群
31647020