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