Cocos2d-x TMX映射共享纹理图像文件与游戏精灵?

时间:2013-07-30 08:05:02

标签: c++ cocos2d-x sprite-sheet texturepacker cctexturecache

我正在使用cocos2d-x 2.1.4,并希望使用相同的图像文件,例如

的spritesheet.png
  1. 使用Tiled Map Editor以及
  2. 构建的tmx地图上的图块
  3. 游戏中的精灵,我通常使用TexturePacker制作spritesheet。
  4. 组合的原因是减少绘制调用的数量,因为有足够的纹理空间可以在一个图像上共享精灵和平铺。如果我将TexturePacker与Tiled一起使用,我想每次TexturePacker重新排列平铺图像时我都必须重新分配平铺位置,所以这不是一个好方法。

    我知道我可以从CCSpriteframe获取CCTexture2D *,我想尝试插入CCTextureCache,以便CCTMXLayer可以获取纹理(实际上是来自spritesheet)。但是,没有方法可以这样做。

    在cocos2d-x中处理tile和sprite的组合spritesheet的常用技巧是什么?

1 个答案:

答案 0 :(得分:1)

将TP中的排序算法更改为name,然后使用_或其他字符为tile精灵图像添加前缀,以确保它们在精灵表中排在第一位。您可能希望创建虚拟切片以为潜在的未来切片保留空间,以避免在您添加更多切片时重新排列切片精灵的风险。

无论如何,一次额外的平局调用不会有所作为。