是的,我在这里遇到了一个小问题,我试图实现一个计时器。
在我的保护覆盖无效更新中我得到了这个;
if ((IntersectPixels(destinationRedRect, car2redTextureData, startingLineRectangle, startingLineTextureData)))
{
{
redHit = true;
_timer1 += gameTime.ElapsedGameTime.TotalMilliseconds;
}
}
我在这里说的是^,如果car2red与起跑线发生碰撞,计时器开始,但如果不是,计时器不会加秒(它只是停止_。我怎么能这样做,如果car2red命中startLine并向前移动几个像素(不接触起始线),计时器仍然继续?
谢谢。
答案 0 :(得分:0)
你应该有一个单独的if语句:
if (redHit) {
_timer1 += gameTime.ElapsedGameTime.TotalMilliseconds;
}
if ((IntersectPixels(destinationRedRect, car2redTextureData, startingLineRectangle, startingLineTextureData)))
{
redHit = true;
//Only use this line if you want to reset the timer to 0 when the player crosses that line again.
_timer1 = 0;// I'm assuming that _timer1 is a double
}