Apple 在 SpriteKit 项目中推荐的资源组织方式在引擎的历史进程中发生了很大变化。旧方法中也存在缺陷,阻碍了这些实践的实施并需要解决方法。 SO 上的旧问答充满了过时的信息或被有关处理不再存在的错误的信息所混淆的信息。需要在 SO 上发表一篇文章,讲述如何实现该问题的当前解决方案,而不会因讨论过时的工作流程或已解决的错误而分心。所以问题是这样的:
如何在 SpriteKit 项目中组织图像资源?一些苹果文档说使用纹理图集来提高性能 https://help.apple.com/xcode/mac/current/#/dev0bfaf1ab7。但是SKTextureAtlas类参考 https://developer.apple.com/documentation/spritekit/sktextureatlas描述创建纹理图集和精灵图集的选项。我应该使用哪一种以及如何实施?
在资产目录内创建精灵图集。您可以获得拥有纹理图集的性能优势(旧方法是手动创建纹理图集),并且可以轻松地在资源目录中组织图像资源。
在这段 WWDC 视频中 https://developer.apple.com/videos/play/wwdc2015/404/?time=1806在时间戳 18:06,发言者说:
在资产目录中以正常方式组织图像资产:组
他们,在精灵地图集中给他们命名。这会自动执行
在构建时创建纹理图集,您可以通过
SKTextureAtlas 类。
这在以下内容中得到了证实(尽管不如视频中那么清晰)类参考文档 https://developer.apple.com/documentation/spritekit/sktextureatlas,其中写着:
创建纹理图集的首选机制是在资产内
目录...精灵图集提供了纹理图集的优点
具有资产目录的管理功能。
视频和课程参考文档都提到这种做法可以让您利用应用程序细化 https://help.apple.com/xcode/mac/current/#/devbbdc5ce4f(在视频中详细讨论)。
默认情况下,新的 Xcode 游戏项目是使用资产目录创建的。或者,您可以通过选择将新的资产目录添加到您的项目中文件>新建>文件...然后选择资产目录来自Resource出现的屏幕中的部分。
要添加精灵图集,请首先在项目导航器中选择您的资产目录。然后右键单击或在编辑器区域的大纲视图中选择加号按钮 (+)。选择新精灵图集从出现的下拉列表中。
您在精灵图集中组织的图像资源将在构建时自动形成纹理图集。您可以通过代码从纹理图集中加载图像:
let atlas = SKTextureAtlas(named: "Monster")
let frame1 = atlas.textureNamed("monster-walk1.png")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)