我正在制作一个游戏,我想生成僵尸,然后让它们向下移动到屏幕上。我也希望一次在屏幕上有多个。我现在尝试了多种方法,但没有一种方法有效。
这是我的代码
if ((zombie == 1)||(zombie == 3)||(zombie == 5)||(zombie == 7))
{
var Z = new Z;
Z.x = 403.25;
Z.y = -86.9;
Z.rotation = 90;
addChild(Z)
zombie += 1;
}
//Functions
function startzombie(event)
{
trace("start zombies")
zombie = 1;
addEventListener(Event.ENTER_FRAME,zombiemove)
}
function zombiemove(event:Event)
{
Z.y += 1;
}
Z是僵尸
答案 0 :(得分:0)
你需要一个数组,它将保存对你的僵尸实例的引用,而不是名为Zombie的单个变量。然后,在移动僵尸的代码部分中,您遍历该数组并在那里推进所有僵尸。此外,你需要检查一些僵尸是否已经不存在,以便你需要从屏幕和数组中删除它们,并采取相应的行动。
var za:Array; // initialize elsewhere
....
function addZombie():void {
var z:Zombie=new Zombie();
z.x=Math.random()*600; // position that zombie
z.y=-20; // somewhere
addChild(z);
za.push(z);
}
function advanceZombies():void {
for (var i:int=za.length-1;i>=0;i--) za[i].walkABit();
}
你在专为移动僵尸而设计的Zombie类中调用一个方法。他们可以说是震惊或减速,这样这一举动可能不会发生,并且你的主要课程没有任何协议来控制每一个僵尸的可变行为,这就是他们的名字& #34;黑匣子概念"。你说"移动",如果他们能够移动他们就会移动。