- Main Page
- Namespaces
- Classes
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# BuddhaLib::GameTime Struct Reference

ゲーム時刻をあらわす構造体 More...

`#include <BuddhaGameTime.h>`

List of all members.

## 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
| 最後のフレームからの経過時間間隔

## Detailed Description

ゲーム時刻をあらわす構造体

この構造体は TimeSpan 構造体を利用して、ゲームが起動してからのタイムスパン（時間間隔の量）と、 前のフレームからのタイムスパンを提供する。 BuddhaLib::Game は固定フレーム方式を採っているため、 Game::Update() が１秒間に３０回呼び出しが あると期待することができる。この期待値がゲーム時間の値であり、 ElapsedGameTime と TotalGameTime で提供されている。

通常 ElapsedGameTime == ElapsedRealTime であり、TotalGameTime == TotalRealTime である。

しかし、現実には、処理落ちが発生し、 Game::Draw() をスキップして Game::Update() を呼び出さなけ ればならない状況が発生する場合がある。このようなケースでは、 ElapsedGameTime と TotalGameTime にはバーチャルな値しか求めることができず、 ElapsedRealTime と TotalRealTime が「現実」の値を提供する。 このように、リアル時間とゲーム時間に違いが生じると、 IsRunningSlowly() は真を返すようになる。

## Member Function Documentation

bool BuddhaLib::GameTime::IsRunningSlowly | ( |  | ) | `[inline]`

ゲームループが TargetElapsedTime より時間がかかっているかどうかを示す値を取得する

Returns:
  値が真の場合、いわゆる処理落ちが生じている

値が真の場合、ゲームループは処理落ち状態にあると考えられる。処理に追い付くために何かをし なければならない。