我正在开发一个使用XNA的手机游戏,并有一个打开和closures开关,改变状态,每当点击。 我的问题是,它从一个水龙头快速和多次变化。 我怎么阻止呢?
存储游戏开关上次使用的时间,并计算经过的时间
if(buttonPressed && (Datetime.Now - timeLastInGameSwitchActivated).Milliseconds > 1000) { ToggleIngameSwitch(); timeLastInGameSwitchActivated = Datetime.Now; }
添加一个先前的值变量来检查按钮的最后一个状态,如果它不同于当前的那个然后做所需的代码ButtonState prev = state
if(currentstate != prev) { dothis }
我用这个简单的方法来处理'延迟'的东西。
float elapsed = (float)gameTime.ElapsedGameTime.Milliseconds; timeCounter += elapsed; if (timeCounter > yourMinimumDelayTime) { //your code here timeCounter = 0; }