Table of Contents

スクリプトの種類

初級 プログラマー

Stride のスクリプトの主要な種類は、スタートアップ スクリプト同期スクリプト非同期スクリプト の 3 種類です。

スクリプトを作成するときは、ニーズに最適な動作を持つスクリプトの種類から継承します。

スタートアップ スクリプト

スタートアップ スクリプトは、実行時に追加または削除されたときにのみ実行します。主として、ゲーム要素の初期化 (キャラクターの生成など) およびシーンがアンロードされるときのゲーム要素の破棄に使用されます。初期化用の Start メソッドと、Cancel メソッドを持っています。どちらのメソッドも必要に応じてオーバーライドできます。

例:

public class StartUpScriptExample : StartupScript
{
	public override void Start()
	{
		// 初期化の間の処理を行う
	}
}

同期スクリプト

同期スクリプトは、初期化された後、フレームごとに更新され、最終的にキャンセルされます (スクリプトが削除されるとき)。

  • 初期化コードがある場合は、Start メソッドに記述します。
  • 更新を実行するコードは、Update メソッドに記述します。
  • キャンセルを実行するコードは、Cancel メソッドに記述します。

次のスクリプトは、無条件に、すべてのフレームで更新を実行します。

public class SampleSyncScript : SyncScript
{        
	public override void Update()
	{
		// エンティティに対する更新を実行する。このコードはすべてのフレームで実行される
	}
}

非同期スクリプト

非同期スクリプトは、1 回だけ初期化された後、シーンから削除されるときにキャンセルされます。

  • 非同期コードは、Execute 関数に記述します。

  • キャンセルを実行するコードは、Cancel メソッドに記述します。

次のスクリプトは、イベントとトリガーに応じたアクションを実行します。

public class SampleAsyncScript : AsyncScript
{        
	public override async Task Execute()
	{
		// 必要がある場合は、初期化コードをここに記述する

		while (Game.IsRunning) // ゲームが終了するまでループする (スクリプトに応じてオプション)
		{
			await MyEvent;

			// 何らかの処理を実行する

			await Script.NextFrame(); // 次のフレームを待機する (スクリプトに応じてオプション)
		}
	}
}

関連項目