我刚发现了一些我感兴趣的东西。你看,我通常用int Time = Duration;做我的“定时器”,在我的更新中,它会变成Time -= gameTime.ElapsedGameTime.MilliSeconds;。然而,我只是尝试用gameTime.ElapsedGameTime.Seconds来做这件事,因为我认为它会对性能更友好。但是现在它根本没有更新!
我的代码基本上是:
声明变量:int Time = 120; SpriteFont spriteFont1;
更新:Time -= gameTime.ElapsedGameTime.Seconds;
绘制一个字符串来告诉我时间:spriteBatch.Draw(Time, Position, Color.White)
不知何故,字符串只告诉我,当我使用MilliSeconds时,时间在减少,而不是秒。为什么?
发布于 2013-06-14 03:58:51
gameTime.ElapsedGameTime.Seconds是自上次更新以来的时间量。因为它更新非常快,所以两次更新之间的时间小于几秒。秒数作为一个int返回,所以你总是得到0。
https://stackoverflow.com/questions/17095815
复制相似问题