【发布时间】:2017-06-16 05:28:35
【问题描述】:
我在 Xcode 中有一个基于 Objective-C 的项目。我正在尝试将 SpriteKit 场景添加为视图控制器中的较小视图。 SpriteKit 文件虽然很快。我添加了 Floor1.sks 并将其与 Floor1.swift 链接。
现在我正在尝试将它加载到我的 Objective-C ViewController.m 文件中。在我的故事板中,我查看了 SKView 类,我认为我正确地制作了一个桥接头文件。我现在插入它的代码是:
GKScene *scene = [GKScene sceneWithFileNamed:@"Floor1"];
Floor1 *sceneNode = (Floor1 *)scene.rootNode;
sceneNode.scaleMode = SKSceneScaleModeAspectFit;
SKView *skView = (SKView *)_skView;
[skView presentScene:sceneNode];
skView.showsFPS = YES;
skView.showsNodeCount = YES;
当我成功运行应用程序时,视图会加载,但它只是一个空视图,带有浅灰色背景,节点数为 0,并且 FPS。我做错了什么,为什么它不会加载我的正确视图?
【问题讨论】:
-
放一个断点,看看场景是否正在初始化。对了,Floor1是什么(scene.rootNode是什么)?
-
@Whirlwind Floor1 是我的场景名称。有 Floor1.sks 和 Floor1.swift。在 sks 中,我将其自定义类设置为 swift 文件。对于加载我的视图的代码(我的问题中唯一的代码^^),它只是复制/粘贴到我的项目中。我似乎无法让它工作
-
那你为什么要从 Floor1.sks 加载 GKScene 呢?你的代码有点混乱。例如,您的场景似乎也有一个属性 rootNode 也是场景。你不能在一个场景中有一个场景。我的意思是理论上你可以,但是作为子场景添加到另一个场景中的场景将充当普通节点。
-
@Whirlwind 我尝试加载 sks,因为我认为这就是视图。在侧边栏上的 sks 检查器中,我将自定义类设置为其 swift 对应项。他们现在应该链接吧?我应该怎么做才能加载我的视图?我是新手:/
标签: objective-c swift xcode sprite-kit