在单独的线程上处理玩家输入是否有意义?

时间:2016-09-23 01:01:36

标签: libgdx

我在使用

时遇到了问题
Gdx.input.isTouched()

我的游戏就像飞鸟,我有一个名为alreadTouched的布尔值。

我将这种方法用于玩家点击输入:

if(Gdx.input.isTouched()){
    alreadyTouched = true
}else{
    alreadyTouched = false;
}

问题在于它只识别99%的触摸。偶尔会出于某种原因错过触摸。将控件放在单独的线程上是否有意义?

2 个答案:

答案 0 :(得分:0)

没有。它没有任何意义。不是你的情况。对于像Flappy Bird这样的简单游戏,或者大多数游戏,在单独的线程上输入没有意义。

添加线程无法解决偶尔丢失触摸输入的问题。问题是您的物理设备或代码。

如果要在新线程中处理输入,则需要检查输入,然后必须等待主线程上的同步才能处理输入。 线程用于繁重的计算,如您想在后台处理的物理计算/模拟。

答案 1 :(得分:0)

如果您使用的是Scene2D,我建议使用InputHandler。 (你应该,tbh)

查看https://github.com/libgdx/libgdx/wiki/Event-handling