Java LibGDX更新和绘制方法

时间:2016-08-29 11:12:13

标签: java android libgdx

人们通常会在其播放器类中编写“draw(SpriteBatch batch)”和“update(float deltaTime)”方法。他们为什么不写“render(SpriteBatch batch,float deltaTime)”?因为可读性?我的意思是,为什么他们制作两种方法?他们可以用单一方法做。

2 个答案:

答案 0 :(得分:2)

可读性和易于更新/更改是一个原因。

但也有后勤原因。在开始绘图之前,您需要确保整个游戏状态是完全最新的,因此屏幕上的任何内容都是尽可能最新的。如果将更新和呈现放入每个对象的一个​​方法中,那么与稍后更新的对象相比,首先更新和绘制的对象可能看起来过时并影响早期对象的状态。但如果更新和绘图分开,您可以更新整个游戏,然后绘制整个游戏。

如果您的游戏使用物理,则更新和绘图的分离允许您以fixed timestep(以与绘图不同的速率)更新您的世界,以确保游戏不受帧速率的影响。

答案 1 :(得分:1)

那是因为你想在游戏逻辑和渲染功能之间分开。它更容易阅读,如果您想比渲染逻辑更频繁地更新游戏逻辑,也会有所帮助。