我正在使用XNA开发一款移动游戏,并且有一个开关按钮,每次点击时都会改变状态。我的问题是它会在单次点击中快速多次改变状态。我应该怎么办才能防止这种情况的发生呢?
我正在使用XNA开发一款移动游戏,并且有一个开关按钮,每次点击时都会改变状态。我的问题是它会在单次点击中快速多次改变状态。我应该怎么办才能防止这种情况的发生呢?
存储上一次游戏中开关使用的时间,并计算经过的时间跨度
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;
}