Если libGDX игре или приложению нужно от пользователя запросить ввод строки, например имя пользователя или пароль, то это можно сделать, используя простое диалоговое окно, которое можно в некоторой степени настраивать.
На персональном компьютере откроется Swing диалоговое окно, запрашивая от пользователя ввода строки.
На Android откроется стандартное Android диалоговое окно, снова запрашивая от пользователя ввода строки.
В libGDX для получения введенных данных или уведомления или введенных данных, которые пользователь может отменить, нужно реализовать TextInputListener
интерфейс.
public class MyTextInputListener implements TextInputListener { @Override public void input (String text) { } @Override public void canceled () { } }
Метод input()
будет вызван, когда пользователь ввел текстовую строку. Метод canceled()
будет вызван, если пользователь закрыл
диалоговое окно на персональном компьютере или нажал на кнопку возврата на Android устройстве.
Чтобы вызвать диалоговое окно, просто вызовите getTextInput()
метод с использованием вашего обработчика:
MyTextInputListener listener = new MyTextInputListener(); Gdx.input.getTextInput(listener, "Dialog Title", "Initial Textfield Value");
В libGDX методы обработчика будут вызываться в потоке визуализации, прямо перед ApplicationListener.render()
методом.