Draw 在游戏循环中,为什么需要单独的更新和绘制调用?

Draw 在游戏循环中,为什么需要单独的更新和绘制调用?,draw,game-loop,Draw,Game Loop,这很可能是一个愚蠢的问题,但你不能在一个函数中同时更新和重画所有内容,而不是背靠背调用两个函数,更新然后绘制有什么好处 在一个函数中同时更新和重画所有内容 你可以在一个函数中做很多事情。但你不应该。它赋予函数太多的责任,太多的依赖性,并且使它的可重用性大大降低 更新游戏状态是游戏逻辑的责任。重新绘制屏幕是用户界面的责任。两者应保持非常分开。这使得它们可以相互独立地更改,而不会相互影响 在一个函数中同时更新和重画所有内容 你可以在一个函数中做很多事情。但你不应该。它赋予函数太多的责任,太多的依赖性

这很可能是一个愚蠢的问题,但你不能在一个函数中同时更新和重画所有内容,而不是背靠背调用两个函数,更新然后绘制有什么好处

在一个函数中同时更新和重画所有内容

你可以在一个函数中做很多事情。但你不应该。它赋予函数太多的责任,太多的依赖性,并且使它的可重用性大大降低

更新游戏状态是游戏逻辑的责任。重新绘制屏幕是用户界面的责任。两者应保持非常分开。这使得它们可以相互独立地更改,而不会相互影响

在一个函数中同时更新和重画所有内容

你可以在一个函数中做很多事情。但你不应该。它赋予函数太多的责任,太多的依赖性,并且使它的可重用性大大降低


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

更新不适用于绘图或类似的任何输出, 而是用于游戏逻辑等
将这两件事分开的好处之一
(除更干净的程序结构等外)例如是
如果游戏太慢,可以多次调用更新
在平局之前。游戏图形可能会滞后,

但至少背后的逻辑会及时更新。

更新不适用于绘图或任何类似的输出, 而是用于游戏逻辑等
将这两件事分开的好处之一
(除更干净的程序结构等外)例如是
如果游戏太慢,可以多次调用更新
在平局之前。游戏图形可能会滞后,

但至少背后的逻辑会及时出现。

可能希望看到与您不将所有代码编写在一个大的
main
函数中相同的原因!这个问题绝对不是基于意见的。他要求保持更新和绘制分离的优势。这是因为当游戏延迟时,可以可靠地调用Update(),而不经常调用Draw(),以减少延迟而不降低响应速度。您可能希望看到不将所有代码编写在一个大的
main
函数中的相同原因!这个问题绝对不是基于意见的。他要求保持更新和绘制分离的优势。这是因为当游戏延迟时,可以可靠地调用Update(),而不经常调用Draw()来减少延迟而不降低响应性。说得好。别忘了那些可以锁定用户界面的东西。说得好。不要忘记那些可以锁定用户界面的东西。