塔防无限级别

时间:2013-09-28 23:27:12

标签: actionscript-3 levels

我找到了一个网站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]
          ];

我的问题是“有没有办法让它自动生成水平,以便它就像没有结束的生存?如果是这样的话”

最后,我不一定关心这个数组方法是否仍在使用,但非常感谢你的帮助。

注意:如果您按照指南的链接进行操作,我会发现许多实例,其中编码不正确并导致致命错误。

1 个答案:

答案 0 :(得分: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函数更灵活,更健壮,以便对它们进行分组,并通过参数和逻辑更加智能地创建组。