.NET CF上的游戏循环和GDI

时间:2020-03-05 18:56:31  来源:igfitidea点击:

嗨,我想写一个具有主要游戏形式和许多其他正常形式的游戏。在这种情况下,管理更新绘制周期的最佳方法是什么?

应该仅覆盖游戏形式的绘制循环吗?或者我应该在主要方法中执行一个application.do events()吗?

请为此指导我。我是Windows Forms World的新手

解决方案

回答

如果我们要制作游戏,则应该研究DirectX,OpenGL或者XNA。

回答

逻辑线程应与表单分开,因此我们不需要DoEvents()。如果我们使用的是GDI +,则应在循环上强制执行Update()。 Windows窗体不能很好地进行双缓冲,因此,根据图形的复杂程度,我们可能会遇到闪烁方面的困难。

我的建议是考虑使用DirectX托管库。有很多东西要学习,但可以为我们提供所需的一切。

编辑:
最近,我一直在阅读有关WPF的信息,WPF似乎是简单到中等复杂游戏的更好平台,因为它提供了比DirectX托管库更高级别的API。但是,对于更复杂的游戏,它可能具有性能和灵活性方面的限制。

回答

问题的主体没有提到Compact Framework,只是Winforms。这是Tom Miller(Xna Game Studio和Microsoft的Managed DirectX家伙)的Winforms的公认答案:

Winforms游戏循环

@Rich B:游戏循环与渲染方式无关(DirectX,MDX,GDI +)