2014-10-27 32 views
0

我一直在试图创造一个你选择的答案一个简单的测验,发挥正确/错误的动画,然后让你选择另外一个问题。每个问题框架让你30秒选择一个答案,然后转发到“时间到了”框架。很简单。到目前为止,除了定时器以外,一切工作都很顺利。我可以在一个框架内工作,但是当你点击一个按钮或出于其他原因重新定向到另一个框架时,它会使整个程序崩溃。的ActionScript 3 - 正在重置计时器每帧(测验)

我理论上我可以修复通过在回采“退出帧事件”的计时器,但是只有来自甚至开始(当程序的其余部分继续顺利工作)防止定时器;

发布的代码可能并不会足以使检查文件出自己: http://www.filedropper.com/semifinalsq

我需要这个学校的测验,我一直没能在互联网上找到什么好几天。我可能会出现多个错误或错误,这些错误或错误以“图形”方式构建并链接整个事件,在这种情况下,如果没有人查看整个程序,我无法修复它。

如果你可以从只有1帧的代码什么:

import flash.events.TimerEvent; 
import flash.utils.Timer; 

var myTimer:Timer = new Timer(1000); 
myTimer.addEventListener(TimerEvent.TIMER, countdownHandler); 
function countdownHandler(event:TimerEvent):void{ 
countdown.text = 30-myTimer.currentCount+" s"; 
if(myTimer.currentCount==30){gotoAndStop(5)}  
} 

这是我的计时器代码,其中5架是“时间到了”框架。这一点完美地工作,但我该如何建立它,所以每当有一个新的定时器进入框架它重置? (那么,我应该如何停止并在特定帧中重新启动它?);

帮助将不胜感激!

+0

请张贴相关的代码。 (有些人不喜欢从陌生人那里下载文件)。 – BadFeelingAboutThis 2014-10-27 18:36:39

+0

是的,我明白...发布编辑。 – kGrozdanovski 2014-10-27 18:43:17

+0

你在哪里开始(并停止)你的计时器? – BadFeelingAboutThis 2014-10-27 18:54:06

回答

0

解决方案: myTimer.stop(); myTimer.removeEventListener(TimerEvent.TIMER,countdownHandler); 添加在按钮所调用的功能中。由于它是一个测验,答案是按钮,并导致另一个框架,而先前停止定时器并删除它的监听器(上面的代码在goto frame停止之前);

尽管这可能不会在其他情况下帮助,类似结构的测验这是一个非常简单的解决方案。

特别感谢用户LDMS:d