XNA临时暂停

时间:2014-06-08 14:22:14

标签: c# xna 2d-games

我需要暂时停顿一下。如果我与敌人发生碰撞,我想暂停游戏1.5秒。看看我的代码:

bool tPause;
float timer;

public ovveride Update(GameTime gameTime)
{
    if(!tPause)
        {
            //...
            if(enemy.rectangle.Intersects(player.rectangle))
            {
                timer+=(float)gameTime.ElapsedGameTime.TotalMilliseconds;
                tPause=true;
                if(timer>1500)
                {
                    tPause=false;
                    timer=0;
                }
            }
            //...
        }
}

它不起作用!我可以修改什么?

1 个答案:

答案 0 :(得分:0)

即使游戏暂停,也要不断更新计时器。此外,我会倒数:

if(timer <= 0) //!tPause
{
    //...
    if(enemy.rectangle.Intersects(player.rectangle))
    {
        timer = 1500; //initialize a 1.5 second pause
    }
}
else
    timer -= (float)gameTime.ElapsedGameTime.TotalMilliseconds;