-1

http://www.flashgametuts.com/tutorials/as3/how-to-create-a-tower-defense-game-in-as3-part-1/というウェブサイトを見つけ 、その方法に関する基本的なチュートリアルを提供してくれました。アクション スクリプト 3.0 でタワー ディフェンス ゲームを作成する方法と、敵の作成を​​配列に配置する方法と、入力した数は、敵のレベルとサブ配列が異なるレベルに対応することを意味します。

enemyArray = [//defining the array
        [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],//#s will just represent an enemy to be created
        [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],//another row means another level
        [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
        [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,2,2,2,2,2,0,0,0,0,3,3,3,3,3,3,3,50]
          ];

そして、私の質問は、「終わりのないサバイバルのように自動的にレベルを生成する方法はありますか? もしそうなら、どのように」でした.

最後に、この配列メソッドがまだ使用されているかどうかは必ずしも気にしませんが、あなたの助けは大歓迎です。

注:チュートリアルへのリンクをたどると、コーディングが正しくなく、致命的なエラーを引き起こした多くのインスタンスが見つかりました.

4

1 に答える 1

0

あなたが求めているのは、コンセプトがかなり単純化されていると思います。

たとえば、敵のレベルが 0 ~ 50 の場合、ランダムな数字で新しい配列を作成するだけです。もう少し賢く、敵の強さ、スポーン順序などを考慮に入れたいと思います.

ランダムなレベルを作成したい場合は、レベル範囲内の指定された量のランダムな敵を含む配列を返す関数を持つことができます:

function getLevelSpawns(amount:int, levelMin:int, levelMax:int):Array
{
    var spawn:Array = new Array;
    for (var index:int = 0;index < amount;index++)
    {
         var enemyType:int = Math.random() * (levelMax-levelMin) + levelMin;
         spawn.push(enemyType);
    }

   return spawn;
}

使用法は次のようになります。

var spawns:Array = getLevelSpawns(50, 5,10);

これにより、レベル 5 ~ 10 の 50 体の敵のランダム スポーン配列が得られます。

これはほんの一例です。そのgetLevelSpawns関数をより柔軟かつ堅牢にして、それらのグループ化を処理し、パラメーターとロジックを介してグループを作成することについてよりインテリジェントにすることができます。

于 2013-09-29T00:39:51.343 に答える