gpt4 book ai didi

java - 多行文本。 libgdx

转载 作者:搜寻专家 更新时间:2023-11-01 08:26:46 24 4
gpt4 key购买 nike

如何创建多行文本?我尝试使用 Label ,但文本只有 1 行。

Table table = new Table();
table.setPosition(0,0);
table.setSize(800,440);

label = new Label("Some long string here...", skin);
label.setFillParent(true);
label.setAlignment(center);
label.setPosition(0,0);
label.setWidth(40);
label.setHeight(label.getPrefHeight());
label.setText(tutortext);

table.addActor(label);

stage.addActor(table);
stage.setDebugAll(true);

/image/3whQr.png

最佳答案

在标签上使用 setWrap(true);

根据文档。

  • 如果为 false,文本将只在包含换行符 (\n) 的地方换行。标签的首选大小将是文本边界。
  • 如果为 true,文本将使用标签的宽度自动换行。标签的首选宽度为 0,预计外部设置标签的宽度。启用省略号时不会发生换行。默认为 false。

  • 启用环绕后,标签的首选高度取决于标签的宽度。在某些情况下,标签的父级将需要布局两次:一次设置标签的宽度,第二次调整标签的新首选高度。

我用小例子测试过:

public class MultiLine extends ApplicationAdapter {

Stage stage;
Skin skin;

@Override
public void create() {

stage=new Stage();

skin=new Skin(Gdx.files.internal("skin/glassy-ui.json"));

Label label=new Label("MULTILINE IN LIBGDX GAME DEVELOPMENT",skin);
label.setWrap(true);

Table table=new Table();
table.setFillParent(true);

table.add(label).width(150);

stage.addActor(table);
}

@Override
public void render() {

Gdx.gl.glClearColor(0,0,0,0);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

stage.draw();
stage.act();
}

@Override
public void dispose() {
stage.dispose();
skin.dispose();
}
}

这是输出:

enter image description here

关于java - 多行文本。 libgdx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44228936/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com