1

我一直在关注微软网站上的教程,他们使用 GameTime 来跟踪一些事情。但是,当我创建一个新实例时,它不会开始计数,也没有像 .start() 这样的函数来启动计时器。当我运行游戏时,GameTime 中创建的对象 gameTime 对于里面的每个元素都保持为 0。有谁知道如何正确使用 GameTime,因为很明显,我做错了;)

-谢谢

4

3 回答 3

4

您不应该创建GameTime类的实例,而是使用gameTime提供给类的Draw()Update()方法的参数Game

TimeSpan totalGameTime = gameTime.TotalGameTime;

Windows Phone 7 的一个很好的参考是Programming Windows Phone 7,Charles Petzold 的免费电子书。

于 2012-04-11T01:19:41.333 回答
1

想通了,因为这是特定于 windows phone,你必须使用内置的 GameTimerEventArgs。谢谢你们的帮助。

于 2012-04-11T15:52:19.103 回答
1

我将此代码用于 XNA wp 游戏倒计时。我认为这也可以在普通 XNA GameTimer 中用于倒计时和计时。

GameTimer gameTime = new GameTimer();
int _timer = 5;
// initiate
gameTime.UpdateInterval = TimeSpan.FromSeconds(1);  // game time count every second
gameTime.Update +=new EventHandler<GameTimerEventArgs>(gameTime_Update);  // each time count, will exeute gameTime_Update method.
// each time execute, will decrease _timer by 1
void gameTime_Update(object sender, GameTimerEventArgs e)
{
            _timer-= 1;
}
// on function OnNavigatedTo, after 
timer.Start();  // this is default
gameTime.Start();   // this what I add.
于 2012-11-05T10:22:22.873 回答