>>572
何が分からないのかが分からない…
とりあえずコメントが微妙そうだったので書き直してみた。

private double mDblPreviousFrame = 0; //前回のフレームでの経過時間
private double mDblCurrentFrame = 0; //今回のフレームでの経過時間

bool Timer(GameTime gameTime)
{
   bool bNewInterval;
   double dblMS = (double)gameTime.ElapsedRealTime.Milliseconds; //フレーム間の経過時間(ミリ秒)
   
   mDblCurrentFrame += dblMS; //フレーム間の経過時間(ミリ秒)を加算
   mDblCurrentFrame = mDblCurrentFrame % 500; //500ミリ秒以上経過したら余り時間を残してリセットする

   //500ミリ秒以上経過しているかどうか調べる
   if (mDblCurrentFrame >= mDblPreviousFrame)
      bNewInterval = false;
   else
      bNewInterval = true;

   mDblPreviousFrame = mDblCurrentFrame; //今回のフレームでの経過時間を保存

   return bNewInterval;
}