【问题标题】:How to make a count timer C#如何制作一个计数计时器C#
【发布时间】:2012-03-23 14:42:50
【问题描述】:

我正在尝试在 C# 中为在线游戏创建一个计时器。我真正想要的是一个计时 60 秒然后重新启动的计时器。让它永远消失,然后每次重置时加一个点......

到目前为止我所做的是:

DateTime dateTime = DateTime.Now;
int sec = dateTime.Second;

if(sec = 1)
{
    // stuff
}

if 不循环,我该怎么做?或者有人有更好的主意吗?我真的很想要一个我可以改变秒数的。

【问题讨论】:

  • 在线游戏,如基于网络的游戏,还是连接到服务器的桌面客户端?
  • 说完the "if" doesnt loop,我觉得你需要回归基础,从简单一点的开始。
  • 期望 if 循环播放吗?如果是,你能解释一下为什么吗?
  • 我终于找到了与我想要的东西相关的东西,并将其发布为答案。我很清楚,如果不循环,我写的问题很糟糕。 :P

标签: c# loops timer counter


【解决方案1】:

我认为System.Threading.Timer 可能有用,只需设置一个 60 秒后触发的回调即可。

【讨论】:

    【解决方案2】:

    我发现了一些与我的问题相关的内容,并根据我的需要进行了编辑。它做了我想要它做的事情,但它是否会产生溢出,我不确定。有没有人对此有更好的想法?

    using System;
    
    namespace ticket
    {
    class Program
    {
        public static int x = 0;
        static void LoopingFunction()
        {
            while (x <= 20)
            {
                int dwStartTime = System.Environment.TickCount;
    
                while (true)
                {
    
                    if (System.Environment.TickCount - dwStartTime > 100) break; //100 milliseconds 
    
                }
                Console.WriteLine(x);
                x++;
                if (x == 20)
                {
                    ///add "stuff"
    
                    Console.WriteLine("Test");
                    x = 0;
                }
            }
        }
    
        static void Main()
        {
            LoopingFunction();
            Console.Read();
    
        }
    }
    }
    

    【讨论】:

    • 这会让 CPU 一直很忙,所以我建议你使用计时器。可以问一下你的编程知识水平吗?只是为了以最好的方式帮助您
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    • 1970-01-01
    • 2017-10-12
    相关资源
    最近更新 更多