1

我有 2 张精灵表,一张用于角色和 HUD 图层一张用于背景。“背景精灵表”有一个实际的背景部分和一个“前景部分”应该在字符上方的 z 层中分层

问题来了。使用 CCSpriteBatchNode 来优化绘图性能我被迫有两个不同的 CCSpriteBatchNode,每个大小为 2048*2048,以便使用 2 个精灵表。

这是我想要实现的结构的简要“示意图”:

z=0  background    sheetBackground 
z=1  characters    sheetCharacters
z=2  foreground    sheetBackground
sheetBackground -> spriteBatchNodeA
sheetCharacters -> spriteBatchNodeB

!!! Conflict ->  sprites in a spriteBatchNode cannot be z-ordered in respect to sprites in another batch node !!

不幸的是,精灵的 z 顺序只影响同一 CCSpriteBatchNode 中的精灵,而不影响“全局 z 顺序”。

为了克服这个问题,对我来说唯一的方法是拥有一个双倍尺寸(4096 * 4096)的精灵表。我发现这个支持更大文件的github 项目CCBigImage 。在我开始改变我的代码结构之前,我想问你这是否是一个可接受的解决方案,或者是否有其他方法可以实现这一点。

4

0 回答 0