0

ia料金

fee = new AnimatedSprite(0, 463, this.mFairyTextureRegion);

私は子供たちにこのコードを使用する料金をフォローしてもらいたいのですが、particleSystemは常に前にあります

    mScene.attachChild(fee);
//mScene.getLastChild().attachChild(particleSystem);    
fee.attachChild(particleSystem);
fee.setZIndex(fee.getZIndex()+1);
particleSystem.setZIndex(particleSystem.getZIndex()-1);
//fee.sortChildren();
mScene.sortChildren();

親料金の後ろに子供を作るにはどうすればよいですか?

4

1 に答える 1

1

ここで説明されているように、andengine 自体を変更することでこれを管理します。

http://www.andengine.org/forums/tutorials/drawing-children-behind-it-parent-not-possible-with-zindex-t4810.html

クラスの順番を入れ替えたり、

\AndEngine\src\org\anddev\andengine\entity\IEntity.java

protected void onManagedDraw(final GL10 pGL, final Camera pCamera) {
    pGL.glPushMatrix();
    {
        this.onApplyTransformations(pGL);
        //Saw these next two araound
        this.onDrawChildren(pGL, pCamera); //Draw children first
        this.doDraw(pGL, pCamera); //Then the parent


    }
    pGL.glPopMatrix();

}

このクラスに public フラグを追加して、子を親の前/後ろに表示するように切り替えることをお勧めします。これは GLES 1 用であることに注意してください。GLES2 でより良い解決策が導入されたかどうかはわかりません。

于 2013-03-08T21:00:27.233 に答える