2

そして「実用的な方法」とは、ゲームの速度を妨げないようにすることを意味します。

私は RPG をプログラミングしていますが、多くの人が知っているように、RPG はイベントでいっぱいです。

  1. イベントがトリガーされる新しい部屋に足を踏み入れる

  2. キャラクターとNPCの間の物語を発展させるために、いくつかの会話が起こります

  3. しかし、その部屋に再び入ると何も起こりません。

マップが変更されるたびに (マップ 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
    }
}
4

1 に答える 1