私はフラッシュでプラットフォームゲームを作っています。プラットフォームのゲームを作る、実行を停止する方法が必要
私はゴールクラス(目標スプライトのコードを含むクラス。ヒットしたときにゲームの次の部分に進みます)。ゴールコンストラクタの内部
、2人のイベントリスナーが追加され、以下のように、彼らは以下のとおりです。
addEventListener(Event.ADDED, beginClass);
addEventListener(Event.ENTER_FRAME, eFrame);
beginClass機能は結構です、と一度だけ実行されますが、eFrameは、プレイヤーがゴールを襲っているかどうかをチェックするものです、それは絶えず走っています。問題は、プレイヤーがゴールに達すると、eFrameが次のシーンをプレイヤーに説明するメニュー内で実行され続けることです。私のeFrame機能は以下の通りです。
private function eFrame(event:Event):void{
if(hitTestObject(_root.mcMain)){
var lastScore:int = _root.mainScore;
_root.mainScore = lastScore;
while (_root.lvlHolder.numChildren > 0) {
_root.lvlHolder.removeChildAt(0);
}
_root.mcMain.removeChildAt(0);
_root.isInCut = true;
if (_root.lvlCurrent == 1) {
_root.gotoAndStop(2);
} else if (_root.lvlCurrent == 2) {
_root.gotoAndStop(3);
} else if (_root.lvlCurrent == 3) {
_root.gotoAndStop(4);
}
}
}
フレーム2、3、4、テキストだけプレイヤーにメッセージを表示するボタンでフレームであり、その後、プレイヤーヒットを続けます。私の問題は、eFrameはまだ実行しようとしていますが、クラスはインスタンス化されておらず、メソッドはプレーヤが継続すると極端な遅延を引き起こしています。
私はそれをしましたが、まだそれをやっています。フレーム2になったら、フレーム1のコードは正しく実行されません。これはGoalクラスが呼び出される場所です。 – Darren