我有一些计时器在页面上运行,我无法确定在页面运行时离开该页面时如何停止。如何在离开“屏幕”时停止计时器
该调用来自另一个影片剪辑上的一个按钮,该剪辑正在调用Main.as上的一个函数。在Main.as的
功能做到这一点:
public function goToIntro(){
removeChild(currentScreen);
intro = new Intro();
addChildAt(intro,0);
currentScreen = intro;
}
如果我点击的前奏按钮,同时用计时器任何场景是打我收到此错误信息。消息
不会马上出现,它就像介绍“场景”结束并调用下一个场景一样。
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,那么我试着做一个测试,然后停止它。这显然永远不会运行(我用trace语句来测试它)。我试着测试一下,如果计时器运行,然后停止,但也没有工作。
帮助!
此外,我是一个完整的动作和编程新手,因此可以像我5岁时一样跟我说话。谢谢
计时器开始在哪里? – Ronnie 2012-04-03 19:08:50
在currentScreen类中添加“eventFromStage”的事件侦听器并停止处理程序中的计时器。 – 2012-04-03 21:50:22