Flex 4定时器保持点火

时间:2010-10-07 00:43:49

标签: function timer flex4 flash-builder

我正在尝试创建一个简单的flex4项目,该项目涉及一些触发其他功能的计时器。

我没有太多使用Action Script的经验,更不用说计时器事件了。

这里有一些我的代码似乎在大多数情况下工作,但是你的行是我加总的总分(得分=得分+1;)似乎只是在我测试时添加和添加应用。我认为是因为定时器一直在触发功能,但我不确定。

            private var score:int = 0;

        private function submit():void {
            this.currentState = 'loading';
            var timer:Timer = new Timer(2200);
            timer.addEventListener(TimerEvent.TIMER, removeLoading);
            timer.start();
        }

        private function removeLoading(event:TimerEvent):void{
            removeloading.play();
            var timer1:Timer = new Timer(1000);
            timer1.addEventListener(TimerEvent.TIMER, viewResults);
            timer1.start();
            this.currentState = 'results';
        }

        private function viewResults(event:TimerEvent):void{

            if (q1_t.selected == true){
                answer1m.text = 'You Answer the Question Correctly.';
                score = score +1;

            } else {
                answer1m.text ='The Correct answer was: '+ q1_t.label;
            }

            if (q2_f.selected == true){
                answer2m.text = 'You Answer the Question Correctly.';
                score = score +1;

            } else {
                answer2m.text ='The Correct answer was: '+ q2_f.label;
            }

            finalscore.text = score.toString();
        }

1 个答案:

答案 0 :(得分:2)

所以我做了一些研究,结果发现我没有包含第二个计时器参数。

第二个参数是在停止之前调度TimerEvent.TIMER事件的次数。如果将第二个参数设置为0(零)或完全省略它,则计时器将永远运行(或直到您在计时器实例上调用stop()方法。

因为我只想在需要添加1时运行该事件。

由此:

var timer:Timer = new Timer(2200);

对此:

var timer:Timer = new Timer(2200,1);