中断 If 语句.. 单击一个按钮一次

Breaking If statements.. Clicking a button once

我正在尝试制作键盘,一切正常。我只想在每次单击后中断 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;

        }

    });

这就是我在 activity 或状态中更新的内容。

 @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");
            }
        }

有什么想法吗?提前致谢。

我还使用 LibGDX TextButtons 制作了自己的键盘。由于您使用的是图像而不是文本,因此您可以改用 ImageButton。然后我将 ChangeListener 与 changed() 方法一起使用,因为它仅在按下和释放按钮后触发,这避免了按下按钮时出现重复字符。

keyButton.addCaptureListener(new ChangeListener() {
@Override
    public void changed(ChangeEvent event, Actor actor){
        // key logic here