AS2로 작성된 자습서를 사용하여 AS3에서 게임을 만들었지 만 올바르게 작동하지 않습니다. 게임은 3 프레임, 시작 화면, 게임 루프 및 종료 화면이 포함되어 있습니다. 타이머는 프레임 2에서 시작하고 카운트 다운됩니다 (트레이스를 사용하여 테스트 됨). 타이머가 0에 도달하면 프레임 3 인 게임 화면으로 가고 싶지만 코드는 작동하지 않습니다.Actionscript 3 카운트 다운 타이머가 텍스트 필드에 시간을 표시하지 않고 타이머가 0에 도달해도 아무 반응이 없습니다.
var fl_SecondsToCountDown:Number = 30;
var fl_CountDownTimerInstance:Timer = new Timer(1000, fl_SecondsToCountDown);
fl_CountDownTimerInstance.addEventListener(TimerEvent.TIMER, fl_CountDownTimerHandler);
fl_CountDownTimerInstance.start();
theTimer.text = String(fl_SecondsToCountDown);
function fl_CountDownTimerHandler(event:TimerEvent):void
{
if(fl_SecondsToCountDown == 0){;
gotoAndPlay(3);
}else{
trace(fl_SecondsToCountDown + " seconds");
fl_SecondsToCountDown--;
}
}
나의 두 번째 문제점은 타이머 (TheTimer)가 시간을 표시하지 않는다는 것입니다.
편집 :
var running:Boolean = new Boolean();
running = false;
var time:Number = new Number();
var fl_SecondsToCountDown:Number = 30;
var fl_CountDownTimerInstance:Timer = new Timer(1000, fl_SecondsToCountDown);
fl_CountDownTimerInstance.addEventListener(TimerEvent.TIMER, fl_CountDownTimerHandler);
fl_CountDownTimerInstance.start();
function fl_CountDownTimerHandler(event:TimerEvent):void
{
time=fl_SecondsToCountDown;
if(time == 0){
running = false;
trace(running);
gotoAndStop(3);
}else{
trace(fl_SecondsToCountDown + " seconds");
fl_SecondsToCountDown--;
theTimer.text = String(fl_SecondsToCountDown);
}
}
값을 설정할 때 TheTimer가 있는지 확인 하시겠습니까? – zzzzBov
프로그램에 오타가 있습니다 : if (fl_SecondsToCountDown == 0) {; 또한 fl_SecondsToCountDown 변수를 변경할 때 textField가 자동으로 업데이트되지 않습니다. – TheDarkIn1978
오타가 아니라 복사/붙여 넣기 오류가 발생했습니다 :) 감사합니다. fl_SecondsToCountDown가 작동했습니다. 나는 그것을 배치해야했고 텍스트 필드를 다시 만들어야했습니다. ttorial 나는 텍스트 필드를 mc로 변환한다고 말한 AS2를 따르고있었습니다. 텍스트 필드로 남겨 두는 것이 옳은 일이었습니다. – RapsFan1981