AS3敌人编队

时间:2013-04-25 14:44:09

标签: actionscript-3 starling-framework

我通过查看一些不同的教程,使用starling框架在as3中开发了一个射击游戏。 问题是所有教程都教导创建从一侧移动到另一侧的随机敌人。我想知道如何在屏幕上创建不同形式的敌人。

任何人都可以建议任何书籍,教程或任何基本算法让我走上正轨吗?

1 个答案:

答案 0 :(得分:1)

这是一种产生阵型的相当简单的方法。

在您的库中创建一个名为formation的符号,并将其用作您的链接/类名。

在该符号中,在您想要的任何位置放置5个标记MovieClip。对于标记剪辑,我建议使用居中的圆圈。放置这些标记的任何地方,都代表敌人将在哪里生成。

现在,在您想要生成此阵型的代码中,您可以执行以下操作:

var formationData:MovieClip = new formation;
for (var index:int = 0;index < formationData.numChildren;index++)
{
    var spawnMarker:MovieClip = formationData.getChildAt(index) as MovieClip;
    var enemy:Enemy = new Enemy;
    enemy.x = spawnMarker.x;
    enemy.y = spawnMarker.y;
    addChild(enemy);
}

现在,这将根据您在编队符号中设置的内容生成阵型。

您可以通过执行以下操作来抵消产生的敌人的位置:

var offsetX:Number = 200;
var offsetY:Number = 50;
for (var index:int = 0;index < formationData.numChildren;index++)
{
    var spawnMarker:MovieClip = formationData.getChildAt(index) as MovieClip;
    var enemy:Enemy = new Enemy;
    enemy.x = offsetX + spawnMarker.x;
    enemy.y = offsetY + spawnMarker.y;
    addChild(enemy);
}

这个概念允许您做什么,在Flash IDE中可视化地布局您的构造。所以你可以创建一大堆不同的编队并选择一个随机编队。生成点是否拼出一个单词?

显然上面的代码就是一个例子,你需要将这个概念集成到你的产卵系统等中。

根据敌人产生的位置,您可能需要使用偏移量在屏幕外启动它们。