エンジン
Engine は Altseed2 の基本的な機能を提供します。初期化・終了をはじめとする、Altseed2 のほとんどの機能は Engine を通して使用します。
エンジンでできること
Engine は次の機能を提供します。
基本的な実行手順
Altseed2 を使用するプログラムの基本構造は次のようになります。
using Altseed2;
class Empty
{
static void Main(string[] args)
{
// Altseed2 を起動する前にいくつかの設定ができます。
var config = new Configuration()
{
// 垂直同期信号を待つかどうかを取得または設定します。
WaitVSync = true,
};
// Altseed2 を初期化します。
Engine.Initialize("Empty", 640, 480, config);
// ここで画像などのデータを読み込んだりノードツリーを作成したりすることができます。
// メインループ。
// Altseed のウインドウが閉じられると終了します。
while (Engine.DoEvents())
{
// ここに挙動をべた書きすることも可能です。
// Altseed を更新します。
Engine.Update();
}
// Altseed の終了処理をします。
Engine.Terminate();
}
}
Caution
Initialize、Terminate、DoEvents、Updateのメソッドはこのサンプルのように必ず使用します。
また Altseed2 のすべての機能は Initialize してから Terminate するまでの間に実行されるようにしてください。Initialize の前や、Terminate の後で、Altseed2 の機能を使用すると予期せぬエラーが発生することがあります。
Configuration について
Altseed2 の一部機能は、初期化時に Initialize の引数として渡す Configuration を用いて設定します。 設定項目の詳細については Configuration のリファレンス をご覧ください。
ポーズ(一時停止)
ゲームのプレイ中に、ゲームを一時中断して設定を変更したり休憩したりすることがあります。このような機能を実装するときは、各 Node の毎フレームの更新を停止する必要があります。しかし、一部のメニューやアニメーションなどは停止せず、更新し続ける必要があります。 Altseed2 では、ゲームの一時停止は Pauseメソッドで、ゲームの再開は Resume メソッドによって実現できます。 なお、Pauseメソッドの引数にメニュー画面などのNodeを渡すことにより、その Node を一時停止の対象から除外することができます。
Note
初代 Altseed では、ゲームのシーンにメニュー画面のレイヤーを追加したうえで、メニュー画面のレイヤー以外のすべてのレイヤーの IsUpdated
プロパティを false
にすることで実現していました。Altseed2 では上記のような方法でゲームのポーズ(一時停止)を実現します。
フレームレート
Altseed2 は固定フレームレート、可変フレームレート両方に対応しています。初期値では可変フレームレートに設定されています。どちらの場合でも、1秒間の更新回数は TargetFPS で指定されている値に近づくように調整されます。Node の OnUpdate メソッドの実行や描画処理などの更新処理は、毎秒およそこの値の回数実行されます。
Caution
ホ ン マ か ? ?