Libgdx之TextFiled 文本输入框
Posted zqiang_55
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Libgdx之TextFiled 文本输入框相关的知识,希望对你有一定的参考价值。
在做一个游戏的时候总是避免不了要输入一些文字,Libgdx的TextFiled就一个处理输入的文本控件。使用TextFiled我们也可以设置输入密码。
TextField介绍
TextField是一个单行的文本输入,默认的宽度是150,preHeight是font的高度的或者是背景图片的高度。在桌面版中支持快捷键ctrl+c/ctrl+v。
在手游中特别是中文手游中,由于Libgdx对中文支持的不友好,特别是手机游戏屏幕比较小,因此特别不建议在游戏中大量输入中文。
此外TextField可以设置为密码模式,用指定的字符串代替显示字符。
测试代码
TextField textField;
Stage stage;
Skin skin;
@Override
public void create()
skin = new Skin(Gdx.files.internal("uiskin.json"));
stage = new Stage();
Gdx.input.setInputProcessor(stage);
textField = new TextField("", skin);
textField.setSize(textField.getPrefWidth(), textField.getPrefHeight());
Gdx.app.log("TAG", "preWidth=" + textField.getPrefWidth() + "preHeight=" + textField.getPrefHeight());
// 设置提示文字
textField.setMessageText("Enter ps");
// 设置文字输入对齐模式 居中
textField.setAlignment(Align.center);
// 设置是否为密码模式
textField.setPasswordMode(true);
// 如果是密码模式,那么设置替换密码的字符
textField.setPasswordCharacter('*');
// 设置光标默认闪烁时间,为了便于观察设置时间比较长,libgdx默认是0.32秒
textField.setBlinkTime(0.2f);
textField.setTextFieldListener(new TextFieldListener()
@Override
public void keyTyped(TextField textField, char c)
// if (c == '\\n')
// textField.getOnscreenKeyboard().show(true);
//
//
System.out.println("List="+textField.getText());
);
stage.addActor(textField);
@Override
public void render()
Gdx.gl.glClearColor(0.39f, 0.58f, 0.92f, 1.0f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.act();
stage.draw();
@Override
public void dispose()
skin.dispose();
stage.dispose();
以上是关于Libgdx之TextFiled 文本输入框的主要内容,如果未能解决你的问题,请参考以下文章