如何使用C#暂停游戏

时间:2019-04-04 09:41:12

标签: c#

如何使用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");
        }
    }
}

2 个答案:

答案 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