在LibGDX中创建TextField

时间:2018-04-26 12:15:31

标签: java libgdx textfield

我正在使用LibGDX开发一款Android游戏,并且我正在努力让TextField获得一个玩家的名字。这就是我目前所拥有的:

TextField.TextFieldStyle style = new TextField.TextFieldStyle();
    style.font = new BitmapFont();
    style.fontColor = Color.CHARTREUSE;

    TextField field = new TextField("", style);
    field.setText("Test");
    field.setWidth(150);

然后我创建了一个表,并将TextField添加到其中。

table.add(field).expandX().padTop(10);

    stage.addActor(table);

    Gdx.input.setInputProcessor(stage);

这就是我的渲染方法中的内容:

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

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

唯一出现的是"测试",下面没有任何内容。因此正在创建TextField,但不能接受任何输入。我过去曾遇到过Skins的问题,如果我没有必要,我也不想使用它。但是,我不知道我的皮肤是否缺乏,这是它无法正常工作的原因,或者是否是其他问题。有人可以向我解释如何在TextField中输入输入,或者我的问题是什么?

1 个答案:

答案 0 :(得分:0)

我从用户那里获得文本输入也遇到了很多问题。我没有找到使用TextView的方法。 如果您想在使用LibGDX时获得用户的输入,这是一个简单的方法:

使用TextInputListener。您可以阅读this page上的教程。它看起来并不漂亮,但它的工作做得很好。

如果您想要自定义设计,则不应使用上述方法。当您需要用户输入时,请检查是否按下了某个键(每一帧)。如果是,请将键入的字符附加到String。使用String在一个漂亮的对话框中渲染BitmapFont