在游戏循环中,为什​​么您需要单独更新并绘制调用?

问题描述:

最有可能是一个愚蠢的问题,但你不能一次更新和重新绘制一个单一的函数,而不是重复调用两个函数,更新和绘图的优点是什么?在游戏循环中,为什​​么您需要单独更新并绘制调用?

+0

可能要查看http://gamedev.stackexchange.com/ – bobobobo

+0

您不会将所有代码写入一个大'main'函数的原因相同! – Blorgbeard

+2

这个问题绝对不是基于意见的。他要求保持Update和Draw分开的优势。这是因为当游戏滞后时,可以可靠地调用Update(),并且可以减少调用Draw()以减少延迟而不降低响应性。 – 2014-03-23 17:21:39

两个更新和单一功能

可以做了很多的事情在一个单一的功能重绘一次的一切。但你不应该。它给功能提供了太多的责任,依赖太多,并且使其重复使用的次数减少很多。

更新游戏状态是游戏逻辑的责任。重新绘制屏幕是用户界面的责任。两者应保持非常分离。这允许他们彼此独立地改变而不会相互影响。

更新并不意味着绘画或任何这样的输出, 而是用于游戏逻辑等等。
一个分离这两个东西
(比清洁程序结构等除外)的好处是,例如,
,如果比赛的节奏太慢,更新可被多次
平局之前。游戏图形可能会滞后,但至少背后的逻辑将会及时。

+0

那么说。不要忘记可以锁定用户界面的东西。 –