#include <BuddhaGameTime.h>
Public Member Functions | |
| GameTime (void) | |
| コンストラクタ | |
| GameTime (TimeSpan &totalRealTime, TimeSpan &elapsedRealTime, TimeSpan &totalGameTime, TimeSpan &elapsedGameTime) | |
| コンストラクタ | |
| GameTime (TimeSpan &totalRealTime, TimeSpan &elapsedRealTime, TimeSpan &totalGameTime, TimeSpan &elapsedGameTime, bool isRunningSlowly) | |
| コンストラクタ | |
| bool | IsRunningSlowly () |
| ゲームループが TargetElapsedTime より時間がかかっているかどうかを示す値を取得する | |
Public Attributes | |
| TimeSpan | TotalRealTime |
| ゲームがスタートしてからの実時間(壁時計)の経過時間間隔 | |
| TimeSpan | ElapsedRealTime |
| 最後のフレームからの実時間(壁時計)の経過時間間隔 | |
| TimeSpan | TotalGameTime |
| ゲームがスタートしてからの経過時間間隔 | |
| TimeSpan | ElapsedGameTime |
| 最後のフレームからの経過時間間隔 | |
この構造体は TimeSpan 構造体を利用して、ゲームが起動してからのタイムスパン(時間間隔の量)と、 前のフレームからのタイムスパンを提供する。 BuddhaLib::Game は固定フレーム方式を採っているため、 Game::Update() が1秒間に30回呼び出しが あると期待することができる。この期待値がゲーム時間の値であり、 ElapsedGameTime と TotalGameTime で提供されている。
通常 ElapsedGameTime == ElapsedRealTime であり、TotalGameTime == TotalRealTime である。
しかし、現実には、処理落ちが発生し、 Game::Draw() をスキップして Game::Update() を呼び出さなけ ればならない状況が発生する場合がある。このようなケースでは、 ElapsedGameTime と TotalGameTime にはバーチャルな値しか求めることができず、 ElapsedRealTime と TotalRealTime が「現実」の値を提供する。 このように、リアル時間とゲーム時間に違いが生じると、 IsRunningSlowly() は真を返すようになる。
| bool BuddhaLib::GameTime::IsRunningSlowly | ( | ) | [inline] |
ゲームループが TargetElapsedTime より時間がかかっているかどうかを示す値を取得する
1.5.2