gpt4 book ai didi

libGDX 使 touchDown 循环直到 touchUp

转载 作者:行者123 更新时间:2023-12-01 23:05:54 27 4
gpt4 key购买 nike

我正在用 libGDX 制作游戏。

我想实现游戏控制,但 touchDown 方法有问题。 touchDown 方法只运行一次。我想循环 touchDown 直到 touchUp 被调用。有人能帮我吗 ?

class  onPlayerGoLeftListener extends InputListener {

public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
//start runnable (move player)

return true;
}

public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
//stop runnable
}

}

谢谢

附言我不喜欢使用主要更新方法来做到这一点

最佳答案

您不能在事件回调或渲染回调中“循环”,因为整个系统将停止。获得所需内容的一种方法是在 touchDown 方法中设置一个标志,在 touchUp 方法中清除该标志,然后将循环的“主体”放入render,由你的标志保护。

boolean touchActive = false;

public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
//start runnable (move player)
touchActive = true;
return true;
}

public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
//stop runnable
touchActive = false;
}


public void render(float delta) {
...
if (touchActive) {
// Do one iteration of your "while" loop
}
...
}

关于libGDX 使 touchDown 循环直到 touchUp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21666089/

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