2013-12-17 43 views
0

我正在Flash AS3中制作第一人称射击游戏。我仍然在学习AS3并需要帮助。我有一个放在舞台上的movieclip“Player”,它可以拍摄和移动到目前为止,但我需要敌人来让玩家射击。在舞台AS3上放置了一个动画片段的几个实例

我创造了一个敌人,需要帮助获取相同动画片段(敌人)的多个实例,以便向舞台和电影生成“玩家”动画片段。我相信我需要创建一个数组,以在任何时间点在该舞台上获得2个或更多相同的动画片段,但我完全停留在如何执行此操作。

谢谢先进。

链接到我的代码是Here (请注意“Baddy.as”我知道被拼错了,也它现在已改为“Enemy.as”)

回答

0

一旦你有你的敌人类,你可以只创建它的多个实例并将它们存储在一个数组中。

var enemies:Array = []; 
var enemy:Enemy = new Enemy(); 
stage.addChild(enemy); 
enemies.push(enemy); 

然后,您可以循环穿过敌人并使用enemies阵列移动它们。

for(var i=0; i<enemies.length; ++i) 
{ 
    move(enemies[i]); 
} 
+0

这会在任何时候为舞台上的所有敌人工作吗? I.e所有敌人在左边,右边,上方和下方?因为我认为让他们走向玩家动画片段的唯一途径是让玩家定位并放入一个var(并且每帧都会循环,以便它始终具有正确的值),然后为敌人设定一个速度,使用var来告诉它应该在哪里移动(不确定这是否需要循环)?我不确定我应该将哪一类输入(主要或敌人),我猜是主要的,但是敌人阶级是空的。我对动作仍然很陌生。 – cm125192

+0

只要你把所有的敌人都放在阵列里,它就会工作。要将敌人移向玩家,您需要确定玩家与敌人的相对位置。 –

+0

我只记得我在'Bullet's ....'的代码中已经有了一个数组,我仍然在学习AS3,但是在这个语句中'方括号'是'move(enemies [i]);'一个变量?我在问,因为另一个数组在'for循环'的条件中具有'i'作为变量,因为'i'会将它彻底抛弃吗? – cm125192

相关问题