【发布时间】:2018-04-26 12:15:30
【问题描述】:
我正在使用 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 中接受输入,或者我的问题是什么?
【问题讨论】:
-
您是否在您的表(和子表)上启用了调试渲染以查看文本字段的边界框是否符合预期?
-
我尝试了您的代码,它确实只打印“文本”,但是可以单击该文本并使用键盘更改它,因此您对样式是罪魁祸首的评估似乎是正确的。