1
我有一個圖層。它讓孩子們具有特定的'z'價值。 例如通過Cocos2d繪圖直接OpenGL ES 2.0繪圖
- Child_1ž== - 10.0f(CCSprite)
- Child_2ž== - 5.0F(我的自定義節點)
- Child_3ž== - 1.0F(CCSprite)
我的自定義節點(Child_2)在'draw'方法中具有直接的Opengl es調用,以通過着色器繪製紋理。
我堅持的問題:
如果我添加在這些步驟中的孩子一切正常:
[self addChild:Child_1 z:-10.0f tag:1];
[self addChild:Child_2 z:-5.0f tag:2];
[self addChild:Child_3 z:-1.0f tag:3];
,如果我在一個這樣的方式將它們添加:
[self addChild:Child_1 z:-10.0f tag:1];
[self addChild:Child_3 z:-1.0f tag:3];
[self addChild:Child_2 z:-5.0f tag:2];
Child_3是不可見但必須是。
如何使用opengl繪製調用適當的繪圖行爲?
PS這裏是代碼
[hm2 use];
glVertexAttribPointer (0, 3, GL_FLOAT, GL_FALSE, 0, vVertices2);
glEnableVertexAttribArray (0);
glDrawArrays (GL_TRIANGLES, 0, 3);
發佈您的自定義GL繪圖代碼。我猜你沒有正確地重置GL狀態,或者代碼導致OpenGL錯誤,導致任何後續繪圖代碼失敗。每當有ccDraw *副本時,務必只使用ccDraw *方法而不是gl *方法,否則cocos2d繪圖可能會混亂。 – LearnCocos2D 2013-05-13 20:49:30
沒有任何失敗。是的,我使用glDrawArrays。 – Andrew 2013-05-13 20:55:16
我會在6個小時內回答,因爲我現在不允許網站做它 – Andrew 2013-05-13 21:56:25