私はフラッシュシューティングゲームを持っていて、ユーザーがボトルを撃った後、私は破壊アニメーションをプレイしてスクリーンから取り除きます。問題は、ユーザーが速すぎるようにクリックすると、スーパーマンのように、何に関係なくメソッドに2回入力したようなものです。誰もこれを解決する方法を知っていますか?ここでオブジェクトがクリックされた後にマウスクリックを無効にする方法はありますか?
コードです:
public function bottleHasClicked(bottle : BottleBase) : void {
bottle.mouseEnabled = false;
collectedBottles++;
bottlesInRound--;
gameSound.getShootSound().playSound();
gameSound.getBottleSound().playSound();
ArrayUtil.removeValueFromArray(elementsInScreenArray, bottle);
cleanElementsTimer[bottle].stop();
delete cleanElementsTimer[bottle];
if (bottlesInRound == 0) {
stopElementsTimer();
showElementsWaitForSeconds(0.5);
}
createBulletHole();
bottle.play();
}
私が最初にすることは、オブジェクトにマウスを無効にすることであり、それはまだ発生します。私はボトルを再び表示するときにのみ有効にします。
このメソッドをどのように呼び出すのですか? –