我試圖將精靈項目附加到其他精靈項目並將其附加在其父項後面。AndEngine-在其父項背後繪製精靈的子項
這通常很簡單,我在我的代碼中已經有一個 - 但由於某種原因,在一次實例中,它不起作用。
該過程通常是將父母的Z索引設置爲某個數字,並將較低的Z索引分配給其子女。這裏是代碼,其中rect
是父代,並且icon
被連接到它;兩者都附屬於母公司。 然後,我試了一下所有方法的sortChildren()
方法(矩形,父實體,甚至是場景本身);我知道這樣做效率不高,但我只是想看看是否有某些事情發生。它沒有。 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();
從邏輯上講,這應該是矯枉過正,並有工作,但它不是/ 我錯過了什麼?
感謝
我讀到,當你附加一個孩子時,它會將孩子的ZIndex恢復爲零。在設置之前你有沒有嘗試過附加我找不到驗證,所以... – Geobits
是的,但可悲的是,這並沒有奏效。我已經通過將兩個精靈連接到實體來解決此問題,然後將它們排序在實體中。 – LoneDuck
是的,在我評論後我就看到了。我以爲你想保持孩子/父母的關係,所以計算它可能值得一試。真高興你做到了。 – Geobits