【发布时间】:2012-09-11 07:09:22
【问题描述】:
我有一个 GameScene,其中在 z:0 处添加了敌人和玩家精灵。我在 z:-1 向 GameScene 添加了一个背景层,这对于主背景效果很好。唯一的事情是我想展示一些云,为此他们应该在 z:1 尊重玩家和敌人的精灵。
我的方法是在背景层的 z:2 处添加云,但这还不够好,因为它们仍然出现在敌人和玩家精灵的下方。
我原以为 z 值 (2) 会被添加到背景层 z 值 (-1) 中,从而导致绝对 z 值(与 GameScene 父层相比)z:1,因此高于z:0 的敌人和玩家精灵。
显然我错了。
然后我观察到,当我将精灵添加到图层时,如果在同一图层中,最后添加的精灵将显示在先前精灵的顶部(例如,在玩家精灵之后添加敌人将在玩家顶部显示敌人精灵)。我想这是避免奇怪的图形效果(两个图像混合颜色的叠加)的惯例。 这是正确的吗?
现在,我唯一的解决方案是拥有多个背景层(一个用于云层,一个用于实际背景地形),并将它们添加到 GameScene 的不同 z 水平。这是正确的吗?这样做的缺点是我必须维护逻辑上相似的类。
【问题讨论】:
标签: background cocos2d-iphone layer