そして「実用的な方法」とは、ゲームの速度を妨げないようにすることを意味します。
私は RPG をプログラミングしていますが、多くの人が知っているように、RPG はイベントでいっぱいです。
イベントがトリガーされる新しい部屋に足を踏み入れる
キャラクターとNPCの間の物語を発展させるために、いくつかの会話が起こります
しかし、その部屋に再び入ると何も起こりません。
マップが変更されるたびに (マップ 6 に移動するとしましょう)、値 (この場合は 6) が true であるかどうかをクラス EventReg.hx の Bool の配列でチェックするように、ゲームをコーディングしました。 PlayState.hx で変数eventAvailable。
次に、更新関数でマップ番号に応じてイベントを実行しますが、このアプローチでは PlayState.hx にスイッチの形で窮屈なコードが大量に必要になると思います (現在のマップの値を参照として取得します)。
これに対処するオープンソースのRPG、例、またはチュートリアルを知っている人はいますか? ティア!
例:
//Event Helper
private var eventAvailable:Bool;
private var currentMap:Int = MapReg.currentMap;
override public function create():Void
{
//Checks if there's an even in the current map.
eventAvailable = EventReg.isEvent[currentMap];
if (eventAvailable)
setupEvent();
}
private function setupEvent():Void
{
switch(currentMap)
{
case 0: //code
case 1: //code
}
}