游戏循环和GDI通过.NET CF

问题描述:

嗨,我想写一个主游戏形式和很多其他正常形式的游戏。在这种情况下管理更新 - 绘制周期的最佳方法是什么?游戏循环和GDI通过.NET CF

只有游戏形成paint loop才应该被覆盖?或者我应该做一个application.do事件()在主要方法?

请指导我这一点。我是新窗口窗体世界

+0

你的问题是“什么是最好的方式来管理与其他正常形式的主要游戏形式的游戏更新 - 绘制周期?”不是“.NET CF游戏循环”。请修复。 – EndangeredMassa 2008-09-16 16:53:20

你的逻辑线程应该与表单分开,所以你不需要DoEvents()。如果您使用的是GDI +,那么您应该在循环中强制更新()。 Windows窗体不会很好地实现双缓冲,所以根据图形的复杂程度,您可能会在闪烁时遇到一些困难。

我的建议是看看使用DirectX managed library。学习很多东西,但给你你需要的一切。

编辑: 我最近阅读有关WPF,这似乎是简单到中等复杂的游戏一个更好的平台,因为它提供了比DirectX managed Library更高级别的API。但是,对于更复杂的游戏来说,它可能具有性能和灵活性的限制

如果您正在制作游戏,您应该查看DirectX,OpenGLXNA

+0

它基本上是GDI +上的一个游戏,它有很多表单和一个表单,其上有一些游戏逻辑,它在.NET CF – Azlam 2008-09-16 17:05:10

+0

上再次,你应该看看我提到的技术,winforms不可能支持你想要的很好。 – GEOCHET 2008-09-16 17:28:58

问题的主体没有提到Compact Framework,只是Winforms。这是非常从汤姆·米勒的WinForms接受的答案(XNA游戏工作室,并从微软托管DirectX的家伙):

Winforms Game Loop

@Rich B:游戏循环是独立的渲染是如何完成(的DirectX ,MDX,GDI +)