2015-05-10 60 views
0

我有兩個ImageTextbuttons,這是我如何設置他們在我的MainMenu的屏幕和遊戲畫面:設置FONTCOLOR爲ImageTextButton工作在一個屏幕上,但沒有其他 - LIBGDX Scene2D

ImageTextButton.ImageTextButtonStyle ibs = new ImageTextButton.ImageTextButtonStyle(); 
    ibs.font = skin.getFont("scorescombo3-font160"); 
    ibs.fontColor = new Color(1.0f, 0.6f, 0.0f, 0.65f); 
    ibs.up = new TextureRegionDrawable(skin.getRegion("level_name")); 
    level_no_button = new ImageTextButton("button", ibs); 

我用的是從Hiero導出相同的字體文件。

在我遊戲畫面我看到的它應該待觀察,但在我MainMenu的屏幕它,即使阿爾法正確渲染仍然文本爲

我已經搜索了所有level_no_button我的代碼中的顏色設置,並且沒有將顏色設置爲白色的行。爲什麼顏色設置在一個屏幕上工作,而不是在另一個屏幕上?更何況,爲什麼阿爾法工作,但顏色不?

+1

如果我記得ImageTextButton在其類中有標籤。嘗試更改標籤顏色而不是ImageTextButton顏色。 – z3n105

+0

嗨!我得到了同樣的結果:即使阿爾法被渲染,也只是白色。這可能是因爲其中一個ImageTextButton被添加到另一個不同的堆棧和表中,並且可能會破壞Scene2D通常執行的某些更新邏輯。不知道要調用什麼更新函數來刷新內容。 – gogonapel

回答

0

顯然它是在其他屏幕上繪製白色字體的着色器。

我改變:

vec4 texColor = texture2D(u_texture, v_texCoord); 

到: 變化vec4 v_color; ...

vec4 texColor = texture2D(u_texture, v_texCoord) * v_color; 

並解決了我的問題。

相關問題