2014-03-31 60 views
0

現在,我的Box2D世界中有body,Labels和TextButtons。問題是標籤和按鈕在物體已經放置在世界中之後出現在桌子中,當它們出現時,身體位於其上,然後你看不到標籤和按鈕。我怎樣才能使標籤和按鈕出現在身體的頂部?我可以根據要求顯示代碼。如何獲取標籤和文本按鈕來覆蓋物體?

回答

0

我想你的意思是你的遊戲HUD或用戶界面的按鈕和標籤總是應該呈現在身體和演員之上?

box2d的身體本身沒有紋理/演員/圖像或任何東西,除非你連接它......而且我希望你沒有連接你的標籤等與身體,只有當你真的想要的按鈕以表現身體...;)

所以,如果你只是想要在整個場景上總是渲染按鈕等,只需使用第二個Stage(或第二個SpriteBatch),在場景和物體之後調用draw()方法已被渲染...這樣,他們將永遠在一切之上,並且您可以使用不同的座標系統進行場景和HUD ...

希望它有所幫助...

+0

非常感謝。它通過放置stage.draw();在渲染循環的底部 – Mercify

+0

@Mercify總是考慮渲染順序。如果你在2D中渲染你繪製()的東西,最後出現在頂部,而其他人則透支。在'scene2d'中,您可以使用z-index對事物進行排序,但不能確定它是否有效,因爲它只是對列表進行排序,具體取決於此z-Index。 – Springrbua

+0

scene2d中的z順序只是按組而已。基本上,您可以根據需要對舞臺上的組/演員進行排序,如果您有多個項目,則可以在一個組中進行排序,您可以訂購這些項目。對於創建HUD或類似的情況,不建議這樣做......此外,如果其他組在父級中具有更高的Z-index,則永遠無法在另一個組的元素之上繪製一個組的元素水平。 – evident