我一直在尝试创建一个简单的测验,您可以在其中选择答案,播放正确/错误的动画,然后让您选择其他问题。每个问题框架为您提供30秒的时间来选择答案,然后将您转到“时间到了”框架。很简单。到目前为止,除了计时器之外,一切都很顺利。我可以让它在一个帧内工作,但当你点击一个按钮或由于其他原因被重定向到另一个帧时,它会崩溃整个程序。
我理论化我可以通过在“退出帧事件”处停止计时器来解决这个问题,但这只会阻止计时器启动(当程序的其余部分继续顺利工作时);
发布代码可能并且不够,请自行检查文件: 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帧是“time is up”帧。这个位工作得很好,但是如何在它上面进行构建,这样只要输入带有定时器的新帧,它就会重置? (那么,如何在某些帧中停止并重新启动它?);
非常感谢帮助!
答案 0 :(得分:0)
<强>解决方案:强> myTimer.stop(); myTimer.removeEventListener(TimerEvent.TIMER,countdownHandler); 添加在按钮调用的函数中。由于这是一个测验,答案是按钮并导致另一个框架,而先前停止计时器并删除它的监听器(上面的代码在转到框架之前停止......);
虽然这在其他情况下可能没有帮助,但对于类似结构的测验,这是一个非常简单的解决方案。
特别感谢用户LDMS:D