ios - Xcode 允许你从 Assets.xcassets 中制作一个 "sprite Atlas",它实际上是一个图集吗?

标签 ios xcode swift3 sprite-kit

如果您在 Assets.cxassets 文件夹中并点击加号,您可以添加一个新的“sprite atlas”和/或新文件夹。

当您从这个菜单创建“ Sprite 图集”或文件夹时,它们看起来完全一样。我的印象是 atlas 文件夹的末尾必须有后缀“.atlas”?

我读到,对于屏幕上的大量重复纹理,使用 Sprite 图集通常更好。当我开始我的项目并将所有图像放入该文件夹时,我在 Assets.cxassets 中创建了一个“ Sprite 图集”。

我读得越多,我就越觉得我做错了。我在网上找不到关于在 Assets.cxassets 中放置“atlas”文件夹的任何信息。当我像上面提到的那样创建 atlas 文件夹时,它没有“.atlas”后缀,它只有一个通用名称“sprites”

我还将所有这些 sprite 与 tile set 一起使用,在 tile set 中使用 .atlas 是常见的做法吗?

谢谢大家的建议。

最佳答案

是的,这是一个真实的 map 集。

当您从 Project Manager 打开 Assets 目录时并添加诸如 map 集、组(文件夹)之类的东西,或者说 Watch Complication ,这些在 Xcode 中对您来说可能看起来是一样的...

assets

但在幕后,它们并不相同。这是这些文件夹在磁盘上的样子:

enter image description here

因此,如果您右键单击 Assets 目录,然后选择 Show In Finder , 你会注意到有 .spriteatlas分机 Atlas文件夹,.complicationset分机 Complication文件夹并且在 New Folder 上找不到扩展名.这意味着 Assets 目录中的每个文件夹实际上都有自己的类型,由其扩展名定义。

这是来自 docs :

The type of content represented by a folder is encoded in the extension for the name of the folder. For example, a folder named PosingLlamas.imageset has a type of imageset.

因此,您可以得出结论,如果您对 Sprite 图集功能感兴趣,则必须创建一个新的 sprite atlas。 , 而不是 a group (folder) ,Xcode 将为您完成剩下的工作。否则批量渲染(在单个绘制 channel 中渲染多个纹理)将无法工作,这是 Sprite 图集的主要特征,对性能有很大帮助。

关于ios - Xcode 允许你从 Assets.xcassets 中制作一个 "sprite Atlas",它实际上是一个图集吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45339028/

相关文章:

ios - 如何使用XCode为iPhone创建墙纸应用程序?

c++ - XCode 4.5 观察点不工作

xcode - Xcode 如何使用 Macbook Pro Touchbar?

ios - 如何使用 RxSwift 将数据添加到 tableview 或 collectionview

swift - swift 3 中的 CGpathaddrect

javascript - 通过if条件防止双击事件

iphone - AVCaptureSession 指定自定义分辨率

methods - 如何从方法的闭包中删除强引用循环?

iphone - 如何将 DTCoreText 集成到新项目中?

xcode - 我可以从 iOS DeviceSupport 目录中删除数据吗?