如何限制KeyDown操作频率

时间:2011-10-04 18:56:55

标签: c# silverlight keydown

我正在开发我的第一款Silverlight游戏。它类似2D迷宫,用户在画布上的移动基于UserControl_KeyDown事件。我还没有任何游戏环。但现在我有点被困 - 我需要限制UserControl_KeyDown事件或其他事件的频率,因为我需要迷宫中的一些物体移动得比玩家快。我想我可以以某种方式使用游戏循环,但我真的不知道如何和谷歌没有帮助..我希望你能告诉我如何做到这一点的方式,我真的很感激。

1 个答案:

答案 0 :(得分:1)

您可以节省上次执行命令的时间,并且只有当TimeSpan在现在和保存的时间之间的时间大于某个时间时才执行命令。

private DateTime _LastExecution = DateTime.MinValue;

public void UserControl_KeyDown(object sender, EventArgs ea) {
    if ( ( DateTime.Now - _LastExecution ).TotalMilliSeconds > 500 ) {
        /* do you stuff */
        _LastExecution = DateTime.Now;
    }
}
相关问题