ios - Gamescene.sks 和 GameScene.swift 在我的项目中似乎没有关联

标签 ios swift sprite-kit swift3

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

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

SKS File.

spritekit .sks 文件。

Swift File

Output

我的 View Controller 的 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)

            }
        }
    }

最佳答案

我们有一个正常的 GameScene.swift,它应该用 GameViewController 调用的 GameScene.sks 打印“hello”。您没有指定什么是 GameController 但这不是问题,因为我认为您可能只是失去了游戏的流程,所以我会尽力帮助您解决这个问题(别担心, 当您长时间专注于游戏的其余部分并且不记得开始流程时,就会发生这种情况。

在您的 Main.storyboard 中,您可能不会遇到这样的情况:

enter image description here

enter image description here

您的 GameViewController 是初始 View Controller 。 我的意思是,您应该检查谁在您的 Storyboard上调用了 GameViewController,或者您的 AppDelegate.swift(在 didFinishLaunchingWithOptions 中)是否停止了流程或调用其他调用 GameViewController 之前的 View 。

因此,检查谁是 IVC(初始 View Controller )并确保您的 GameViewController 从一开始就被调用或被其他使用断点的 viewController 调用,或者只是在你的viewDidLoad:

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

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

enter image description here

希望对您有所帮助。

关于ios - Gamescene.sks 和 GameScene.swift 在我的项目中似乎没有关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40569950/

相关文章:

ios - 以交互方式关闭键盘时如何检测键盘框架的变化?

ios - 设置 ScrollView Insets 使滚动条从顶部开始

ios - 保存字符串以快速解析数组

ios - Swift/SpriteKit - 球节点向下释放角度

ios - 如何在我的 SKLabelNode 中显示我的计时器?

ios - 使用 MKMapView 不带 map ,仅叠加

ios - 裁剪放置图片实现电池电量效果

swift - 如何使用 Storyboard和 NSTabViewController 在 macOS 上通过调整大小获得交叉淡入淡出过渡?

ios - 从 CoreBlutooth 重新启动应用程序 - didUpdateValueForCharacteristic 函数

ios - 看看SKShapeNode有没有被触动? : How to Identify node?