pea*_*ype 3 ios sprite-kit asset-catalog sktextureatlas swift
Apple 推荐的在 SpriteKit 项目中组织资产的方式在引擎的历史进程中发生了很大的变化。旧方法中也存在一些错误,这些错误阻碍了这些实践和所需解决方法的实施。关于 SO 的旧问答充满了过时的信息,或者被关于处理不再存在的错误的信息所混淆。需要在 SO 上发表一篇文章,说明如何实施针对此问题的当前解决方案,而不会因讨论过时的工作流程或已解决的错误而分心。所以问题是这样的:
如何在 SpriteKit 项目中组织我的图像资产?一些 Apple 文档说使用纹理图集来提高性能。但是SKTextureAtlas类参考描述了用于创建纹理图集和精灵图集的选项。我应该使用哪一个以及如何实现它?
在资产目录中创建精灵图集。您可以获得纹理图集的性能优势(旧方法是手动创建纹理图集),以及在资产目录中轻松组织图像资产。
在资产目录中以正常方式组织您的图像资产:将它们分组,在精灵图集中命名它们。这样做是在构建时自动创建纹理图集,您可以通过 SKTextureAtlas 类检索。
这在类参考文档中得到了证实(虽然不如视频中清楚),它说:
创建纹理图集的首选机制是在资产目录中……精灵图集提供了纹理图集的优点和资产目录的管理功能。
视频和课程参考文档都提到这种做法可以让您利用应用程序精简(在视频中详细讨论)。
默认情况下,使用资产目录创建新的 Xcode 游戏项目。或者,您可以通过选择“文件”>“新建”>“文件...”,然后从出现的屏幕的“资源”部分中选择“资产目录”,将新的资产目录添加到您的项目中。
要添加精灵图集,首先在项目导航器中选择您的资产目录。然后在编辑器区域的大纲视图中右键单击或选择加号按钮 (+)。从出现的下拉列表中选择New Sprite Atlas。
您在精灵图集中组织的图像资产将在构建时自动形成纹理图集。您可以通过代码从纹理图集中加载图像:
let atlas = SKTextureAtlas(named: "Monster")
let frame1 = atlas.textureNamed("monster-walk1.png")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2241 次 |
| 最近记录: |