0

あなたのプレイヤー (銃) が敵 (バディ) を撃ってスコアを得るゲームを作っています。ゲームオーバーになるまでライフ(ライフ)が3つあるように設定しました。プレイヤーがオブジェクト (waterMelon) を収集すると動作する addLife 関数を追加しようとしています。関数 addLife を実行するタイマー イベントを追加しました。このイベントは、ムービー クリップのインスタンスを 5 秒ごとにステージに追加します。その関数では、プレイヤーとオブジェクトの衝突をチェックし、ステージからオブジェクトを削除してからライフを追加するための checkCollisions という別の関数を作成しました。

var timer2:Timer = new Timer(5000);

timer2.addEventListener(TimerEvent.TIMER, addLife);
timer2.start();
var watermelon:waterMelon = new waterMelon();

function addLife(evt:TimerEvent):void{
    watermelon.x = Math.random() * stage.stageWidth;
    watermelon.y = Math.random() * stage.stageHeight;

    addChild(watermelon);
    watermelon.push(waterMelon);

    checkCollision();
}

function checkCollision(){
    if (gun.hitTestObject(watermelon)){
    removeChild(watermelon);
    lives++;
    livesDisplay.gotoAndStop(livesDisplay.currentFrame-1);
    }
}

機能するコードの唯一の部分は、スイカをステージに追加することですが、プレーヤーがスイカと衝突しても、ステージから削除されません。プレイヤーがスイカに衝突したときにスイカをステージから完全に取り除き、プレイヤーに命を吹き込む方法を教えてください。繰り返しますが、各オブジェクトはこれに等しくなります。gun = プレイヤー、waterMelon = オブジェクト/スイカ、lives = 生活、livesDisplay = 生活の物理的な表示。

4

1 に答える 1