gpt4 book ai didi

android - 如何让 LibGDX 只检测一次点击/点击?

转载 作者:太空宇宙 更新时间:2023-11-03 12:08:14 24 4
gpt4 key购买 nike

我正在尝试做一个基本的计数器,所以每次点击都会使计数器增加一个。我可以让计数器开始工作,但当我按住手指/单击时它也会疯狂地增加计数。

代码:

public void render() {
boolean isTouched = Gdx.input.isTouched();

if (isTouched) {
System.out.println(Cash);
Cash++;

}

}

此外,当我在这里时,您如何打印一个 integer/float 每次点击都会改变?

喜欢:font.draw(batch, Cash, 300, 260);

直线上升是行不通的。

最佳答案

您正在做的是轮询输入。但是对于你想要的,InputProcessor将是要走的路:

public class MyInputProcessor implements InputProcessor {
@Override
public boolean keyDown (int keycode) {
return false;
}

@Override
public boolean keyUp (int keycode) {
cash++; //<----
return false;
}

@Override
public boolean keyTyped (char character) {
return false;
}

@Override
public boolean touchDown (int x, int y, int pointer, int button) {
return false;
}

@Override
public boolean touchUp (int x, int y, int pointer, int button) {
return false;
}

@Override
public boolean touchDragged (int x, int y, int pointer) {
return false;
}

@Override
public boolean touchMoved (int x, int y) {
return false;
}

@Override
public boolean scrolled (int amount) {
return false;
}
}

在你的创建代码中设置它:

MyInputProcessor inputProcessor = new MyInputProcessor();
Gdx.input.setInputProcessor(inputProcessor);

引用:Libgdx Wiki Event-Handling

how can you print an integer/float that will change every tap?
Like: font.draw(batch, Cash, 300, 260);
Straight up don't work.

BitmapFont#draw接受一个字符串,而不是一个整数/ float 。您必须使用其中之一:

Integer.toString(Cash); //or
Float.toString(Cash);

专业提示:变量名不要以大写开头。它应该是现金

关于android - 如何让 LibGDX 只检测一次点击/点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21656816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com