Я пытаюсь сделать клавиатуру, и все работает нормально. Я просто хочу разбить оператор if после каждого щелчка, чтобы остановить повторяемость символа. Я не хочу использовать Boolean, потому что пользователь может вводить один и тот же символ более одного раза. Это прослушиватель изображенийBreaking If заявления .. Нажатие кнопки один раз
a = new Image(new Texture("Sprites/Keyboard/a.png"));
a.addListener(new InputListener(){
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
apressed = true;
return true;
}
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
apressed= false;
}
});
И это то, что у меня есть в моем обновлении внутри действия или состояния.
@Override
public void handleInput() {
if (keyboard.apressed) {
builder.append('A');
currentWord = builder.toString();
//break; here doesn't work. says its outside the loop.
}
}
Так что в теории это то, что я хочу, но не могу использовать, потому что я угадываю его, чтобы много работать на каждый символ?
@Override
public void handleInput() {
if (keyboard.apressed) {
builder.append('A');
currentWord = builder.toString();
try {
TimeUnit.MILLISECONDS.sleep(400);
} catch (Exception e) {
System.out.println("error");
}
}
любые идеи? заранее спасибо.
Я не понимаю, о чем вы просите. Я думаю, вам нужно немного разъяснить – zapl
, что вы ссылаетесь на «цикл», но я не вижу никакого цикла в вашем коде ... каждый триггер для InputListener - это одно выполнение, а не цикл. очень ясно .. – alexbt
посмотрите на последний пример, и вы поймете, что я хочу делать. Если вы нажмете кнопку, он зарегистрирует более одного щелчка. Я хочу, чтобы кнопка добавляла один символ с каждым нажатием или касанием вниз, а затем прикасалась вверх. – Joe