我想更改一個標籤的背景樣式,該標籤位於其自己的表中,並且位於其自己的層中,該層添加到其他層中的頂層。但是,當我分配它時,其他所有其他圖層中的所有標籤也會分配該背景。我不明白爲什麼會發生。我正在使用libgdx 0.9.8。我創建的skinLibgdx使用基本的png,包含字體和小背景圖像(這就是「白色」的來源)。在libgdx中使用getStyle設置標籤背景樣式
lblGameMessage = new Label(" ", skinLibgdx.get(LabelStyle.class)); //skinLibgdx is a Skin - TextureAtlas
...
lblGameMessage.getStyle().background = skinLibgdx.newDrawable("white", 0.2f, 0.2f, 0.2f, 0.8f);
這是一個錯誤?爲什麼所有其他標籤都會受此影響? 之後,我嘗試將其他標籤設置回黑色,但是我的lblGameMessage也被設置爲黑色。
lblLevel = new Label("Level: ", skinLibgdx.get(LabelStyle.class));
...
lblLevel.getStyle().background = skinLibgdx.newDrawable("white", 0, 0, 0, 1);
你正在使用'lblGameMessage'和'lblLevel'對象的構造函數嗎?它很可能共享一個樣式實例。 –
用構造函數編輯問題。我從來沒有創建LabelStyle,也不太瞭解需要文檔和原因。下面給出的答案更多評論。 –