java延迟动作
我是这个Android游戏开发的新手,目前我正在尝试创建一个平台游戏。有没有一种方法可以使某些操作(例如更改变量值)有几秒钟的延迟,而不让延迟机制停止其他所有操作?我已经试过了
new Thread(){
public void run(){
try {
Thread.sleep(2000);
//variable value change
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}.start();
我找到的方法,但这个方法似乎停止了任何与它一起运行的背景音乐。我也尝试过Handler
方法,但它似乎使游戏崩溃。我正在使用libgdx
框架
# 1 楼答案
你必须明白你的游戏是在无休止的循环中运行的。通常,LibGDX会无休止地调用
render(float deltaTime)
你可以自己这样做:
或者您可以使用LibGDX的^{} 类,如下所示:
# 2 楼答案
如果你打算做OpenGL游戏(我鼓励你),你有一个Renderer类,它构建了int方法:
onDrawFrame(GL10 gl)
,onSurfaceChanged(GL10 gl)
,onSurfaceCreated(GL10 gl)
,你感兴趣的是onDrawFrame(GL10 gl)
因此,扩展渲染器的类的模板应如下所示: