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