如何使用C#暂停游戏?我想知道它的功能部分。我正在尝试将while true循环与布尔变量结合在一起。布尔值在任何时候变为false,都会在while循环上导致继续执行语句。根据我目前的知识,我只能在游戏中的某些点实现持续声明。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WhileLoop
{
class Program
{
static void Main(string[] args)
{
bool play = true;
while (true)
{
play = true;
if (play)
{
Console.WriteLine("Do something1");
play = false;
if (!play)
{
continue;
}
Console.WriteLine("Do something2");
}
}
Console.WriteLine("Do something3");
}
}
}
答案 0 :(得分:1)
您可能要使用状态机来构建游戏。通过这种结构,您可以在游戏中设置当前状态(例如菜单,游戏,暂停,退出)并相应地运行代码。不要使用Thread.sleep
或类似的东西,这很重要,因为该程序将不会对这些命令做出响应。
针对这些机制的有用教程遍布于此处:http://lazyfoo.net/articles/article06/index.php
我通常建议看一下http://lazyfoo.net上的SDL教程
祝你好运
答案 1 :(得分:0)
既然您提到游戏,我想它与游戏有关吗?通常,游戏具有时间尺度。 1.0是实时的。
然后,每个帧之间都有一个deltaTime。所有与时间相关的因素都使用此因素。 var movement = direction*deltaTime
。如果您暂停游戏,则将时间比例设置为0