暂停按钮的游戏c#
本文关键字:游戏 按钮 暂停 | 更新日期: 2023-09-27 18:07:33
我只想创建一个简单的暂停按钮,如果有必要,可能还会创建另一个按钮来恢复。我一直在寻找周围,我主要看到Thread.Sleep(),这对我来说不起作用,因为我希望暂停保持暂停状态,直到用户需要。
Thread.Suspend()不能工作,因为它现在已经过时了。
我也看到了另一种创建第二种形式的解决方案,然而,这似乎不适合我。一旦第二种形式打开,整个程序就关闭了。
我不确定这是否有区别,但我的程序目前使用两个线程(主线程与另一个线程一起运行form1)。理想情况下,一切都需要暂停。
最简单的方法就是设置一些其他线程可以访问的变量/属性。
Bool ShouldPause = false;
另一个线程应该在它的游戏循环中包含如下内容:
while(true)
{
if(!ShouldPause)
{
UpdateGame();
}
Draw();
}
只有当ShouldPause变量为false时,游戏才会继续。我做了几次,效果很好。
你不希望通过一些类似于"Suspend"的函数来暂停线程,因为它会阻止他在屏幕上绘图,并且会看起来像它没有响应。
您可以使用线程信令技术。一个好的开始是看一下ManualResetEvent Class