如何在wp7上的XNA中轻击手势之间创建延迟

时间:2012-11-30 07:39:30

标签: c# windows silverlight windows-phone-7 xna

我正在开发一款使用XNA的手机游戏,并且有一个开关,可以在每次点击时改变状态。我的问题是它从一次点击快速变化多次。我该怎么做呢?

3 个答案:

答案 0 :(得分:2)

存储上次使用游戏中开关的时间并计算传递的时间跨度

if(buttonPressed && (Datetime.Now - timeLastInGameSwitchActivated).Milliseconds > 1000)
{
    ToggleIngameSwitch();
    timeLastInGameSwitchActivated = Datetime.Now;
}

答案 1 :(得分:1)

添加前一个值变量以检查按钮的最后状态,如果它与当前状态不同,则执行所需的代码     ButtonState prev = state

if(currentstate != prev)
{
dothis
}

答案 2 :(得分:0)

我使用这种简单的技术来处理'延迟'的东西。

float elapsed = (float)gameTime.ElapsedGameTime.Milliseconds;
timeCounter += elapsed;

if (timeCounter > yourMinimumDelayTime)
{
   //your code here
   timeCounter = 0;                     
}