使用Xcode11.2,我可以使用"Game“模板创建一个新项目。我可以包括“游戏技术”的SpriteKit和检查“集成GameplayKit”。如果我此时在iPhone 11Pro iOS 13.2模拟器上运行代码,我会看到"Hello,World!“标签。如果我进入库并在运行时将位置(0,0)处的Color Sprite添加到GameScene.sks文件中,我会看到红色的Color Sprite。当我添加一个包含内容的Swift文件时,我的问题就出现了
import GameplayKit
class MovementComponent : GKComponent {
override func update(deltaTime seconds: TimeInterval) {
print(seconds)
}
}并使用Xcode中的组件编辑器将此组件添加到Color Sprite中。当我运行这个的时候,我得到一个灰色的屏幕。当我使用调试器检查GameViewController文件时,发现scene.rootNode为nil。出什么问题了?我只想看看如何使用组件编辑器将组件与Color Sprite集成。这个东西真的能用吗?还是只适用于WWDC演示?
发布于 2019-11-05 05:23:54
似乎是Xcode 11.2中的错误。按照上面的步骤,Xcode 10.3的行为看起来是正确的。已填写苹果反馈FB7427190。感谢Knight0fDragon帮助找出问题所在。
发布于 2020-02-29 06:06:06
我猜我今天的帖子是这个帖子的副本。
SKScene not loaded when add GKComponent to GameScene.sks
这个问题似乎在Xcode11.3.1中仍然存在
如果在场景编辑器中没有向SKSpriteNode添加任何组件,我会看到在调用GameScene.sceneDidLoad时场景已完全加载。
如果在场景编辑器中添加了GKComponent。未加载GameScene -从不调用GameScene.sceneDidLoad。
https://stackoverflow.com/questions/58698088
复制相似问题