スプライトを別のスプライトにアタッチして、その親の後ろにアタッチしようとしています。
これは通常、非常に簡単で、以前にコードで使用したことがありますが、何らかの理由で、1 回のインスタンスで機能しません。
このプロセスは通常、親の Z インデックスをある数値に設定し、より低い Z インデックスをその子に割り当てます。rect
が親で、それにicon
アタッチされているコードは次のとおりです。どちらも親エンティティに関連付けられています。sortChildren()
次に、すべて(rect、親エンティティ、さらにはシーン自体)でメソッドを試しました。これが効率的でないことはわかっていますが、何かがうまくいくかどうかを確認したかっただけです。そうではありません。icon
はまだ描画中rect
です:
for (int i=0; i<levelsList.size(); i++) {
rect = new Sprite(i*(width+padding),
0,
width,
height,
levelSelectorSquareRed,
this.getVertexBufferObjectManager());
icon = new Sprite((rect.getWidth()-innerWidth)/2f,
(rect.getHeight()-innerHeight)/2f,
innerWidth,
innerHeight,
levelIcons.get(i),
this.getVertexBufferObjectManager());
rect.setZIndex(1);
icon.setZIndex(0);
rect.attachChild(icon);
rect.sortChildren();
levelSquares.attachChild(rect);
}
levelSquares.setPosition(0, (CAMERA_HEIGHT-height)/2f);
levelSquares.sortChildren();
levelSelectorScene.attachChild(levelSquares);
levelSelectorScene.sortChildren();
論理的には、これはやり過ぎで動作するはずですが、そうではありません/何か不足していますか?
ありがとう