Java LibGDX更新和绘制方法

Java LibGDX更新和绘制方法,java,android,libgdx,Java,Android,Libgdx,人们通常在他们的播放器类中编写“draw(SpriteBatch批处理)”和“update(float deltaTime)”方法。为什么他们不写“渲染(SpriteBatch批处理,float deltaTime)”?因为可读性?我的意思是,为什么他们会有两种方法?它们可以用一种方法来完成。这是因为您希望在游戏逻辑和渲染功能之间进行分离。如果您想比渲染逻辑更频繁地更新游戏逻辑,它更易于阅读,而且也很有帮助。这是因为您想在游戏逻辑和渲染功能之间进行分离。如果你想比渲染逻辑更频繁地更新游戏逻辑,它

人们通常在他们的播放器类中编写“draw(SpriteBatch批处理)”和“update(float deltaTime)”方法。为什么他们不写“渲染(SpriteBatch批处理,float deltaTime)”?因为可读性?我的意思是,为什么他们会有两种方法?它们可以用一种方法来完成。

这是因为您希望在游戏逻辑和渲染功能之间进行分离。如果您想比渲染逻辑更频繁地更新游戏逻辑,它更易于阅读,而且也很有帮助。

这是因为您想在游戏逻辑和渲染功能之间进行分离。如果你想比渲染逻辑更频繁地更新游戏逻辑,它更容易阅读,也有助于你。可读性和易于更新/更改是一个原因

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


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

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

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


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

那么,仅仅为了可读性?在main类中,我们在render method.Yes中进行绘制和更新。您可以将整个游戏写入渲染函数,但这样做并不是一种好的做法。那么仅仅为了可读性?在main类中,我们在render method.Yes中进行绘制和更新。您可以将整个游戏写入渲染函数,但这样做不是一个好的做法。