是否可以更改一个单词的颜色 在libgdx中使用Label的短语,我的想法在我的对话框中有一些像重要地方这样的重要词汇,或者名称与文本的其他部分有不同的颜色,以使它们脱颖而出。
答案 0 :(得分:4)
我认为您不需要使用任何第三方工件,LibGDX已根据您的要求内置API。您也可以使用Label支持的color markup language。
在BitmapFont上启用markupEnabled
font.getData().markupEnabled = true;
我有一些代码
public class MyGdxGame extends ApplicationAdapter {
private Stage stage;
private BitmapFont bitmapFont;
@Override
public void create () {
stage=new Stage();
bitmapFont=new BitmapFont(Gdx.files.internal("Roboto-Medium_24.fnt"));
bitmapFont.getData().markupEnabled=true;
bitmapFont.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
Label label=new Label("Welcome to [BLUE]LibGDX, []Game development framework \n" +
"\nPublish your games on [GREEN]Windows,[] [#00FFFF]Mac, []Linux, [#FFFF00]Android,[] [BLACK]iOS,[] BlackBerry and HTML5, all with the same code base. ",new Label.LabelStyle(bitmapFont, Color.WHITE));
label.setPosition(20,340);
label.setWrap(true);
label.setWidth(500);
stage.addActor(label);
}
@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.act();
stage.draw();
}
@Override
public void dispose () {
stage.dispose();
bitmapFont.dispose();
}
}
输出: