我需要暂时停顿一下。如果我与敌人发生碰撞,我想暂停游戏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;
}
}
//...
}
}
它不起作用!我可以修改什么?
答案 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;