XNA - 更新方法与Draw方法

时间:2012-12-06 12:15:59

标签: c# windows-phone-7 xna xna-4.0 game-loop

我非常有兴趣知道,如果我把所有精灵动画/移动逻辑放在Draw方法而不是Update方法和更新方法中只是管理触摸和其他事件。 1)游戏动画/逻辑表现的任何问题?
2)游戏画面不会按预期运行吗?

1 个答案:

答案 0 :(得分:7)

绘制和更新方法之间基本上有一个很大的区别。绘制方法与机器的性能一起循环运行,因此如果计算机运行缓慢,如果计算机性能较低,则每秒可能会有30个周期。这也意味着周期不固定,所以一秒钟你可以从draw方法获得30个周期,下一次你可能得到40个。

更新方法具有固定数量的周期,因此这意味着游戏玩法不会因为计算机速度慢而减速。

将精灵动画逻辑放在draw方法中不是问题。这只是意味着动画将以机器可以处理的速度运行。但是,如果动画直接影响游戏中的其他逻辑,我建议将代码放在更新线程中。