我有一个 cocos2d iOS 游戏,它最初是用直接图像(没有精灵表)构建的。我正在迁移到 spritesheets,并使用 Texture Packer 来生成 spritesheets。我有几个元素彼此相邻呈现,在初始的非 spritesheet 模式下运行良好。一旦我将这些图像放入精灵表中,图像的边界就会出现一些闪烁。我对每个 spritesheet 使用了 2 个像素的拉伸,并且消除了一些闪烁,但仍然有一些。我有几个问题:
- 闪烁是否可能是由于在图像上运行 ImageOptim 造成的?我不认为这是问题所在,因为我记得即使使用优化的图像,也不会出现闪烁。
- 由于不同的 RGB 设置,一些彼此相邻的图像位于不同的 spritesheet 中 - 这会导致问题吗?我可以将相邻的图像放入同一个精灵表中,但这会在内存方面造成一些开销,因为我可能会放置一个不透明的图像以及一个带有 RGBA4444 的半透明图像(而不是 RGB565 用于不透明) .
- 我假设不需要更改渲染逻辑。渲染图像重叠(如一些消除闪烁的响应所建议的那样)是否有可能解决问题?