【问题标题】:I want to disable key for X seconds我想禁用密钥 X 秒
【发布时间】:2017-05-29 18:56:15
【问题描述】:

我正在做游戏,你试图避开障碍物。我为慢动作制作了一把钥匙。当玩家按下它时,它会保持活动状态 3 秒,然后我想禁用该键 6 秒以防止他再次按下它,我不知道该怎么做。

【问题讨论】:

  • 请分享您的代码
  • 你有没有尝试过?
  • 你知道如何让游戏流畅,但不能禁用按钮......你通过问这个问题开始你的项目,我有感觉......
  • 请提供更多背景信息 - 我们不知道您正在构建什么样的 UI,因此很难为您提供帮助...
  • 禁用一个键是没有意义的。忽略按键是有意义的。

标签: c#-5.0


【解决方案1】:

使用Timer 类。

public static void Main()
{
    myButton.Enabled = false;
    System.Timers.Timer timer = new System.Timers.Timer();
    timer.Elapsed +=new ElapsedEventHandler(OnTimedEvent);
    timer.Interval = 5000; // Specify the timespan
    timer.Enabled = true;         
}

private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
     myButton.Enabled = true;
}

您可以将某些处理程序添加到 Elapsed 事件并指定某个时间跨度(以毫秒为单位),之后调用每个处理程序。

【讨论】:

    【解决方案2】:

    为此使用计时器:

    System.Timers.Timer t = new System.Timers.Timer();
    t.Elapsed+=new ElapsedEventHandler(OnTimedEvent);
    t.Interval=3000;
    t.Enabled=true;
    aButton.Enabled = false;
    
     private static void OnTimedEvent(object source, ElapsedEventArgs e)
     {
         aButton.Enabled = true;
         (source as Timer).Enabled = false;
     }
    

    【讨论】:

      猜你喜欢
      • 2021-12-15
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 2020-01-20
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多