最近,我决定制作一款新游戏并将这个机会提供给libgdx框架。很久以前,我曾经在Slick2D中做过一些游戏,我记得他们在更新(delta)和draw()对象时的方法是不同的,然后现在在libgdx中只有渲染(delta)。所以我开始想到,抽象游戏,并使用更新和创建自己的游戏和屏幕类。画。但是,现在我对渲染方法中的参数增量有疑问。观看互联网上关于libgdx实现概念更新和绘制的一些示例,人们将delta参数从render方法传递到更新和绘制方法。从这个描述中,我的问题是:
答案 0 :(得分:1)
请注意,只是按原样取得增量时间可能导致例如传送到hick-up并不是离散的。因此,限制价值通常是一个好主意(例如delta = Math.min(delta, 1/30f);
)。当您需要游戏逻辑离散时,通常会使用fixed time step。
答案 1 :(得分:0)
您可以使用LibGDX的Scene2d包:
https://github.com/libgdx/libgdx/wiki/Scene2d
Stage类确实提供了单独的act和draw方法。所以Game类中的render()方法看起来像这样:
@Override
public void render() {
Gdx.gl.glClearColor(0.1f, 0.1f, 0.1f, 1.0f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
stage.act();
stage.draw();
}