【发布时间】:2016-06-26 01:26:49
【问题描述】:
目前我有一个 SKTextureAtlas,它太大而无法快速加载。它包含我游戏中所有敌人的纹理。我想拆分图集,以便游戏仅加载特定级别所需的纹理。但是,一些敌人出现在多个级别。我应该如何拆分地图集?我不希望为每个级别创建一个图集,因为我必须为重复的敌人复制图像文件,并且当有很多级别时会变得很烦人。有没有更优雅的方法?
【问题讨论】:
-
在这种情况下你为什么要使用地图集?地图集的全部意义在于组合图像。只是不要使用图集,您就不需要拆分图像。
-
单独使用图像效率低下,因为 SpriteKit 对每个纹理都进行了渲染。
-
我没有发现在以 60 FPS 的速度从多个 OpenGL 纹理到同一帧进行合成操作时没有问题。也许在 Mac 上存在显着不同的运行时性能,其中 GPU 和 CPU 具有不同的内存空间并且需要从一种内存转移到另一种内存,但在 iOS 上使用 Atlas 似乎与性能关系不大。
-
也许,我只是在重复文档上所说的内容。 developer.apple.com/library/ios/documentation/SpriteKit/…
标签: ios sprite-kit sktextureatlas