【问题标题】:How can I make an animation with timer?如何使用计时器制作动画?
【发布时间】:2021-08-09 14:50:04
【问题描述】:

我想制作一个方法,该方法采用计时器和 ascii 文本,并在计时器达到 1 秒时更改文本,并在计时器达到 2 时再次返回。我创建了这个计时器,但不知道如何使用它那个方法。有人可以帮忙吗?

public void TimePassed()
{
    Timer t1 = new Timer(1000);
    t1.Elapsed += Timer_Elapsed;

    t1.Start();

    Console.ReadKey();

    t1.Stop();
}

public void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
    timerPlayerOneAnimation++;
    Console.WriteLine(timerPlayerOneAnimation + " " + DateTime.Now);
}

【问题讨论】:

  • 您是否尝试过在Timer_Elapsed 中仅检查计时器的时间,如果它大于两个则反转动画?类似if(sender is Timer timerObj) if(timerObj.ElapsedTime >= 2000) // do something

标签: c# multithreading timer console


【解决方案1】:

只需检查您的计数器是偶数还是奇数?

public void Timer_Elapsed(object sender, ElapsedEventArgs e)
{
    // possibly set the cursor position?
    Console.SetCursorPosition(someRow, someColumn);

    timerPlayerOneAnimation++;
    if (timerPlayerOneAnimation % 2 == 0) {
        // Display one thing
    }
    else {
        // Display something else
    }        
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-14
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 2020-01-02
    • 2018-05-06
    相关资源
    最近更新 更多