通过查看一些不同的教程,我一直在使用 starling 框架在 as3 中开发射击游戏。问题是所有教程都教导创建从一侧移动到另一侧的随机敌人。我想知道如何在屏幕上创建不同的敌人阵型。
任何人都可以推荐任何书籍、教程或任何基本算法来让我走上正轨吗?
通过查看一些不同的教程,我一直在使用 starling 框架在 as3 中开发射击游戏。问题是所有教程都教导创建从一侧移动到另一侧的随机敌人。我想知道如何在屏幕上创建不同的敌人阵型。
任何人都可以推荐任何书籍、教程或任何基本算法来让我走上正轨吗?
这是一种相当简单的生成编队的方法。
在您的库中创建一个名为的符号formation
并将其用作您的链接/类名称。
在该符号中,将 5 个标记 MovieClips 放置在您想要的任何位置。对于标记剪辑,我建议使用居中的圆圈。无论您将这些标记放在哪里,都代表了敌人将在哪里产生。
现在,在您想要生成此编队的代码中,您可以执行以下操作:
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 中直观地布置您的编队。因此,您可以创建一大堆不同的阵型并随机选择一个。出生点是否拼出了一个单词?
显然,上面的代码是一个示例,您需要将该概念集成到您的生成系统等中。
根据你的敌人从哪里产卵,你可能需要使用偏移量来让它们离开屏幕。