我正在学习示例代码SceneKit团队在SceneKit: What's New中演示。
我发现文件的扩展名为.gks
,似乎是GameplayKit
的资源。
这是装载:
#if EnableGamePlayKit
_gkScene = [GKScene sceneWithFileNamed:@"Art.scnassets/scene.gks" rootNode:_scene];
#endif
.gks
文件是什么?我一直在寻找很久但却失败了。如何创建和使用它?
答案 0 :(得分:1)
通过使用.gks
归档GKScene
实例来创建NSKeyedArchiver
文件。您可以在Apple开发者网站上learn more about GameplayKit。
答案 1 :(得分:0)
我可以找到关于此的零文档,我需要花费数小时才能正常工作。通过SceneKit构建器向场景中添加组件时,将自动生成gks文件。它会自动为附加了组件的节点创建GKEntity
和GKSCNNodeComponent
个实例,这样您就可以使用它们而无需通过代码创建它们。
注意,这种方法非常可怕。创建GKScene
之后,需要遍历实体并将组件重新映射到给定的实体,因为组件中的实体变量保持为nil。您还需要将组件的副本重新添加回实体,因为当您尝试使用OfType
查找组件时,它将无法识别该类型,即使您可以打印实体的内容和清楚地看到一切都被宣布为同一类型。我将在稍后为人们更新此答案,以便他们可以查看有关如何使其正常工作的代码。