实现 30 秒倒数计时器时遇到问题

Trouble implementing a 30 second countdown timer

我目前正在努力解决我认为是一个相当简单的问题。我正在使用 C# 开发乒乓球游戏。我正在尝试实现一个 30 秒的倒计时计时器,一旦时间 运行 结束,它将把玩家踢回主菜单。

这是处理开始新游戏的方法。我相信这是放置计时器的最佳位置。

public void StartNewGame()
    {
        scene = new GameScene(this);
        //Start timer
        //If timer <= 0
        {
           load main menu
        }
    }

在加载不同的场景方面,我绝对没问题,但我终其一生都无法弄清楚如何使用计时器。

如果您有任何其他问题,请随时提出,我们将一如既往地感谢您的帮助! 谢谢。

你需要为此使用线程。

在一个线程中,您将拥有自己的游戏 运行ning,其中包含一些定义游戏是否仍应 运行ning 的变量。

在另一个线程上,您只需按您希望等待的时间休眠即可。如果您想四处寻找一个库,C# 提供了各种奇特的计时器。一旦睡眠完成,或者一旦你的计时器 class 结束,你就可以在你的游戏线程中翻转标志,这应该会让游戏停止。

您可以 运行 您的游戏主题如下:

Thread thread = new Thread();
thread.Start(() => { //start your game });

您也可以使用 Task 静态 class,这在性能方面可能更好,只要您 运行 您的游戏是异步的。