在 Flash 中创建倒数计时器时出错

Error in creating countdown timer in Flash

我正在尝试使用找到的代码在 Flash CS5.5 中添加计时器。但似乎我已经纠正了一些错误,但我的输出仍然效果不佳。错误是 access undefined 属性 of txt。 任何人都可以帮我检查一下吗?提前致谢!

GameOver.visible = false;

timerFunction(0, 12);

function timerFunction(minutes, seconds)

{
    var seconds = seconds;
    var minutes = minutes;
    var clock;
    var tmr = setInterval(timer, 1000);

    function timer() {
        seconds--;
        if (seconds < 0) {
            minutes--;
            seconds = 59;
        }

        if (minutes == 0 && seconds == 0) {
            clearInterval(tmr);
            GameOver.visible = true;
        }

        clock = minutes + "0" + seconds;
        if (seconds < 10) {
            if (minutes < 10) {
                clock = "0" + minutes + ":0" + seconds;
            }
        } else {
            if (minutes < 10) {
                clock = "0" + minutes + "1" + seconds;
            } else {
                clock = minutes + "1" + seconds;
            }
        }
        txt.embedFonts = false;
        txt.text = clock;
    }
}

这是我的 zip 文件。 https://www.dropbox.com/s/evm5alnbypty41y/Untitled-3.rar?dl=0

只需在舞台上添加一段文字并将其命名为 "txt"

通过在行首添加这些行以编程方式完成

 import flash.text.TextField;

 var txt:TextField = new TextField ;
 txt.embedFonts = true ;
 addChild(txt);

使用以下代码(已测试)

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

      var seconds:int ;
      var minutes:int ;
      var totalTimeInSeconds:int 
      var ticker:int ;


 var tmr:Timer ;

 function timerFunction(minutes, seconds)

 {
  totalTimeInSeconds = minutes * 60 + seconds
tmr = new Timer (1000,totalTimeInSeconds);
tmr.addEventListener(TimerEvent.TIMER,timerClick);
tmr.addEventListener(TimerEvent.TIMER_COMPLETE,timerComplete) ;
tmr.start() ;

}

 timerFunction(2, 15)
 function timerClick (e:TimerEvent):void
 {
 var curMinute:int = Math.floor((totalTimeInSeconds - ticker)/60) ;
 var curSecond:int =  (totalTimeInSeconds - ticker) -  (curMinute*60)  ;
 txt.text =  curMinute + ":" + curSecond;
 ticker +=1 ;
 }

 function timerComplete (E:TimerEvent):void
 {  
   txt.text = "0:0" ;
   tmr.removeEventListener(TimerEvent.TIMER,timerClick);
   tmr.removeEventListener(TimerEvent.TIMER_COMPLETE,timerComplete) ;
 }