为ImagetextButton设置FontColor在一个屏幕上工作,而在另一个屏幕上不工作-libgdx scep2



我有两个ImagetextButtons,这就是我在Mainmenu屏幕和游戏屏幕中设置它们的方式:

    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屏幕中白色即使正确渲染了alpha。

我已经搜索了所有 level_no_button 我的代码内的颜色设置,并且没有线路将颜色设置为白色。为什么颜色设置在一个屏幕上工作,而在另一个屏幕上不起作用?更重要的是,为什么Alpha可以工作,但颜色不工作?

显然是另一个屏幕中的着色器绘制白色字体。

我更改了:

  vec4 texColor  = texture2D(u_texture, v_texCoord);

to: 变化的vec4 v_color; ...

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

这解决了我的问题。

最新更新