我正在使用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中输入输入,或者我的问题是什么?
答案 0 :(得分:0)
我从用户那里获得文本输入也遇到了很多问题。我没有找到使用TextView
的方法。
如果您想在使用LibGDX时获得用户的输入,这是一个简单的方法:
使用TextInputListener
。您可以阅读this page上的教程。它看起来并不漂亮,但它的工作做得很好。
如果您想要自定义设计,则不应使用上述方法。当您需要用户输入时,请检查是否按下了某个键(每一帧)。如果是,请将键入的字符附加到String
。使用String
在一个漂亮的对话框中渲染BitmapFont
。