0

ゾンビをスポーンしてから画面を下に移動させたいゲームを作っています。また、一度に複数の画面を表示したいです。私は今、複数の方法を試しましたが、どれもうまくいきませんでした。

これが私のコードです

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はゾンビです

4

1 に答える 1

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();
}

ゾンビを移動するために特別に設計されたゾンビクラスのメソッドを呼び出します。この動きが起こらないように、彼らは唖然とした、または遅くなったと言うことができます。メインクラスがゾンビの変更可能な動作を制御することは重要ではありません。これは、「ブラックボックスコンセプト」と呼ばれるものです。あなたは「動く」と言います、彼らが可能なら彼らは動きます。

于 2013-03-16T03:53:59.297 に答える