【发布时间】:2012-04-03 18:54:09
【问题描述】:
我在一个页面上运行了一些计时器,当我离开该页面时,当页面正在运行时,我无法弄清楚如何停止。
调用来自另一个影片剪辑上的按钮,它正在调用 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 函数中终止计时器。我尝试删除事件侦听器,但这会导致其他错误消息。如果侦听器不为空,我尝试进行测试,然后停止它。这显然永远不会运行(我使用跟踪语句来测试它)。我尝试测试计时器是否正在运行然后停止它,但这也不起作用。
帮助!
另外,我是一个完整的动作脚本和编程新手,所以可以像我 5 岁一样与我交谈。谢谢
【问题讨论】:
-
在您的 currentScreen 类中添加“removedFromStage”的事件侦听器并停止处理程序中的计时器。
标签: actionscript-3