あなたのプレイヤー (銃) が敵 (バディ) を撃ってスコアを得るゲームを作っています。ゲームオーバーになるまでライフ(ライフ)が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 = 生活の物理的な表示。