ano*_*mos 5 java android libgdx
我现在尝试以三种不同的方式在libGDX中设置延迟。
首先,我尝试使用Timer,但是如果我重新启动活动,计时器将不会再次启动。使用时这是一个已知问题GestureDetector:https : //github.com/libgdx/libgdx/issues/2274
然后,我尝试Gdx.graphics.getDeltaTime在我的render方法中使用设置计时器,但这对我不起作用,因为我将其设置为非连续渲染。答案2中所述在libgdx游戏中设置了延迟
最终,我尝试使用while循环System.getCurrentTimeMilliseconds,但在while循环循环时,这阻止了应用程序识别抽头。
我也听说过DelayAction,但是如何将其实现到代码中呢?https://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/actions/DelayAction.html
还有其他设置延迟的方法吗?一个如何实现DelayAction?或者,如何解决TimerlibGDX中的错误?
受到Barodapride评论的启发,我找到了一个解决方案,我创建一个新线程,并将while循环放在这里。该代码将等待 1000 毫秒,然后foo()在主线程上运行。
new Thread(new Runnable() {
@Override
public void run() {
long time = System.currentTimeMillis();
while (System.currentTimeMillis() < time + 1000){}
Gdx.app.postRunnable(new Runnable() {
@Override
public void run() {
foo();
}
});
}
}).start();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2485 次 |
| 最近记录: |