0

我正在学习 SceneKit 团队在SceneKit: What's New中演示的示例代码。我发现一个文件有扩展名.gks,它似乎是GameplayKit.

这是加载:

#if EnableGamePlayKit

    _gkScene = [GKScene sceneWithFileNamed:@"Art.scnassets/scene.gks" rootNode:_scene];

#endif

文件是什么.gks?我一直在寻找很长时间,但没有成功。如何创建和使用它?

4

2 回答 2

1

通过使用.gks归档GKScene实例来创建文件NSKeyedArchiver。您可以在 Apple 开发者网站上了解有关 GameplayKit的更多信息。

于 2017-07-03T11:07:46.783 回答
0

我可以找到零文档,我花了几个小时才让它正常工作。当您通过 SceneKit 构建器将组件添加到场景时,会自动生成 gks 文件。它将自动为附加了组件的节点创建实例GKEntityGKSCNNodeComponent这样您就可以使用它们而无需通过代码创建它们。

请注意,此方法存在严重错误。创建 之后GKScene,您需要遍历实体并将组件重新映射到给定的实体,因为组件中的实体变量保持为 nil。您还需要将组件的副本重新添加回实体中,因为当您尝试使用 查找组件时OfType,它不会识别类型,即使您可以打印实体的内容并清楚地看到一切都是声明了相同的类型。稍后我将为人们更新此答案,以便他们可以查看有关如何使其正常工作的代码。

于 2017-10-19T13:45:37.937 回答