嗨,我想写一个具有主要游戏形式和许多其他正常形式的游戏。 在这种情况下,管理更新绘制周期的最佳方法是什么?
应该仅覆盖游戏形式的绘制循环吗? 或者我应该在主要方法中执行一个application.do events()吗?
请为此指导我。 我是Windows Forms World的新手
问题的主体没有提到Compact Framework,只是Winforms。 这是Tom Miller(Xna Game Studio和Microsoft的Managed DirectX家伙)的Winforms的公认答案:
@Rich B:游戏循环与渲染方式无关(DirectX,MDX,GDI +)
您的逻辑线程应与表单分开,因此您不需要DoEvents()。 如果您使用的是GDI +,则应在循环上强制执行Update()。 Windows窗体不能很好地进行双缓冲,因此,根据图形的复杂程度,您可能会遇到一些闪烁问题。
我的建议是考虑使用DirectX托管库 。 有很多东西要学习,但可以为您提供所需的一切。
编辑:最近,我一直在阅读有关WPF的信息,WPF似乎是简单到中等复杂游戏的更好平台,因为它提供了比DirectX托管库更高级别的API。 但是,对于更复杂的游戏,它可能具有性能和灵活性方面的限制。