ページが実行中に、そのページから離れたときに停止する方法を理解するのに問題があるページでタイマーを実行しています。"画面"を離れるときにタイマーを停止する方法
この呼び出しは、Main.asの関数を呼び出す別のムービークリップのボタンから発生しています。タイマーを持つ任意のシーンが再生されている間、私はイントロボタンをクリックした場合、私は、このエラーメッセージが表示されます
public function goToIntro(){
removeChild(currentScreen);
intro = new Intro();
addChildAt(intro,0);
currentScreen = intro;
}
:Main.asで
機能は、これを行います。メッセージ
がすぐに表示されず、イントロの「シーン」が終了して次のシーンを呼び出すのと同じように表示されます。
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at MethodInfo-202()
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()
私は、このコードをイントロページに記載しています。これは、このコードを削除したときに、そのコードを掃除することを想定しています。
public function Intro() {
addEventListener(Event.REMOVED_FROM_STAGE, removedHandler);
private function removedHandler(event:Event):void {
}
私は、removedHander関数からタイマーを削除する方法を理解できません。イベントリスナーを削除しようとしましたが、他のエラーメッセージが表示されます。リスナーがnullでない場合はテストを行い、それを停止しました。それは明らかに実行されない(私はそれをテストするためにトレースステートメントを使用した)。私は、タイマーが.runningであったかどうかをテストしてみましたが、それを止めました。
ヘルプ!
また、私はactionscriptとプログラミングの完全な初心者ですので、私は5歳のように私に話すのは大丈夫です。ありがとう
ここで、タイマーは起動していますか? – Ronnie
あなたのcurrentScreenクラスの中に "removedFromStage"のイベントリスナーを追加し、タイマーをハンドラで停止します。 –