【发布时间】:2025-11-21 11:05:01
【问题描述】:
我很想知道,如果我将所有精灵动画/运动逻辑放在 Draw 方法中而不是 Update 方法中,并且 update 方法只是管理触摸和其他事件。
1) 游戏动画/逻辑性能有什么问题吗?
2) 游戏画面会不会像预期的那样?
【问题讨论】:
标签: c# windows-phone-7 xna xna-4.0 game-loop
我很想知道,如果我将所有精灵动画/运动逻辑放在 Draw 方法中而不是 Update 方法中,并且 update 方法只是管理触摸和其他事件。
1) 游戏动画/逻辑性能有什么问题吗?
2) 游戏画面会不会像预期的那样?
【问题讨论】:
标签: c# windows-phone-7 xna xna-4.0 game-loop
draw 和 update 方法之间基本上有一大区别。 draw 方法随着机器的性能循环运行,因此如果计算机速度较慢,如果计算机性能低,您可能会每秒获得 30 个循环。这也意味着周期不是固定的,所以前一秒你可能会从 draw 方法中得到 30 个周期,而下一次你可能会得到 40 个。
更新方法有固定的周期数,所以这意味着游戏不会因为电脑慢而变慢。
把精灵动画逻辑放在draw方法里面是没有问题的。这只是意味着动画将以机器可以处理的速度运行。但是,如果动画直接影响游戏中的其他逻辑,我建议将代码放在更新线程中。
【讨论】:
Draw 将始终以 1:1 的比例运行您的 Update 方法,除非您开始丢帧(在默认配置中)。一般来说,您的逻辑应该足够灵活,以应对 Draw 未被调用。