我在C#中的WindowsForms应用程序中制作一个“Main()”函数。我一直在关注C#中的游戏编程。当我运行这些示例时,一切都正常,但是当我尝试使自己的版本无法正常工作时。c#while循环阻止窗体加载
这里的main()函数:
public void Main()
{
while (!gameOver)
{
// Non timed code:
int ticks = Environment.TickCount;
if (ticks > lastTick + 16)
{
lastTick = ticks;
//Timed (60FPS) code here:
Application.DoEvents();
}
}
}
当我把这种现象称为“Form1_Load的”函数内的形式甚至不显示,当我启动该程序,同时不放弃任何错误或警告(同事情是在运行的例子中完成的)。如果我将“Main()”移动到例如“MouseClick”并且窗体显示,并且当我点击时,该功能开始按照它应该运行。
我真的不知道为什么发生这种情况。我在这里错过了非常明显的东西吗?
如果这是您的整个主要功能(假设它在'Program.cs'文件中),则永远不会加载要显示的表单。 – entropic
在页面加载中放置一个断点,然后检查您的代码。可能的一个因素是'检查gameOver'是否返回错误 –
10这本书多大年纪?在任何情况下,DoEvents都是一个坏主意。 –