-2

私は本当に何が悪いのか分かりません。同じエラーが何度も発生し続けます。31、32、46行目の未定義のプロパティOneSecTimerへのアクセス。Flashを使用したコーディングはこれが初めてなので、正直なところ、ここで何が起こっているのかわかりません。OnTimeCompleteはプライベートであると想定されていますが、それがアクセスされない理由ですか?

パッケージ {

import flash.display.MovieClip;

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


public class MainTimer extends MovieClip {
    // Init vars for class
    private var currentMin:int;
    private var currentSec:int;
    // create a one second timer from Flash's Timer class
    private var onSecTimer:Timer = new Timer(1000,1);            

    public var timerHasStopped:Boolean = false;

    public function MainTimer() {
        // constructor code
        trace("the main timer is here");
        currentMin= 2;
        currentSec = 5;

        minBox.text = String(currentMin);
        if(currentSec < 10){
            secBox.text = "0" + String(currentSec);
        }else{
            secBox.text = String(currentSec);
        }

        oneSecTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
        oneSecTimer.start();
    }

    private function onTimerComplete(event:TimerEvent):void{
        currentSec = currentSec - 1;
        if (currentSec < 0){
            currentSec = 59;
            currentMin -= 1;
        } //end if
        if(currentMin < 0){
            currentMin = 0;
            currentSec = 0;
            timerHasStopped = true;
        }else{
            oneSecTimer.start();
        } //end else

        //update the display
        minBox.text = String(currentMin);
        secBox.text = String(currentSec);
        if(currentSec < 10){
            secBox.text = "0" + String(currentSec);
        }//end if                

    }//end function 

}

}

4

1 に答える 1

1

スペルミスがあります

private var onSecTimer:Timer = new Timer(1000,1);        

する必要があります

private var oneSecTimer:Timer = new Timer(1000,1);            

(あなたは行方不明ですe

欠落しているプロパティについてエラーが発生した場合、一般的に最初にすべきことは、それを定義したと思う場所に移動し、期待どおりに定義されていることを確認することです:)

于 2013-03-09T15:46:10.617 に答える