Cocos2d 2.x:启用z缓冲并使用vertexz

时间:2013-04-28 13:02:17

标签: opengl-es cocos2d-iphone buffering zbuffer

假设:我正在使用使用OpenGL 2.0 ES的Cocos2D 2.0。

我的游戏有所有级别资源的一个spritesheet (例如背景,敌人,云)以及玩家角色精灵和HUD元素的一个(例如通常两者都高于其余部分的z级别)资产)。这是因为我允许用户更改玩家精灵而不能在一个spritesheet中fit all assets

我也在使用CCSpriteBatchNode作为两个精灵表和pvr.ccz压缩纹理文件。 问题在于,在某些情况下,我需要更改某些资产的绝对z级(例如,云,玩家,老板位置)哪些是不同的精灵表< / strong>(级别spritesheet,播放器spritesheet)。

两个实际案例:

  • 一个:我希望玩家能够进入云层之下,因此动态更改玩家精灵的绝对z位置也与级别资产精灵批处理节点相关。
  • 两个:当等级老板到达时,我想让老板飞到玩家上方(因此绝对z级别应该是+1与玩家精灵z级别相比)。这似乎也需要启用z-buffering并使用vertexz。

现在,我对怎么做感到困惑,因为据我所知,每个精灵表都被认为是一个不同的节点,因此不同的OpenGL调用(将启用z-buffering和vertexz降低了我的性能,需要更多的电话?),并想知道是否有一些 tuturials / references 可以帮助我和/或如果有人可以请分享一些类似案例的经验

0 个答案:

没有答案