AS3 при загрузке кадра уменьшает время обратного отсчета

У меня есть следующий обратный отсчет, который отправит игрока в другой кадр, если обратный отсчет равен 0. Мне нужно обновить код, чтобы уменьшить этот обратный отсчет на 0,05 секунды при каждой загрузке кадра.

Из того, что я хочу в кадре 2 действия:

1-й раз: var CountDown: Number = 3;

2-й раз: var CountDown: Number = 2,95;

3-й раз: var CountDown: Number = 2,90;

4-й...

не могли бы вы мне помочь??

Ткс много!

Код:

import flash.events.MouseEvent;
stop();

var fl_SecondsToCountDown_2:Number = 3;
var fl_CountDownTimerInstance_2:Timer = new Timer(1000, fl_SecondsToCountDown_2);


fl_CountDownTimerInstance_2.addEventListener(TimerEvent.TIMER, fl_CountDownTimerHandler_2);
fl_CountDownTimerInstance_2.start();

function fl_CountDownTimerHandler_2(event:TimerEvent):void
{
//trace(SecondsToCountDown_2 + " seconds");
fl_SecondsToCountDown_2--;
if(fl_SecondsToCountDown_2 == 0){
gotoAndStop ("lost");
}
}

1 ответ

Я не уверен, что понял, что вы хотите, но вы можете попробовать это:

1-й кадр:

Я создал кнопку, чтобы перейти ко 2-му кадру (я не знал, как перейти к 2-му кадру):

import flash.events.MouseEvent

btn.addEventListener(MouseEvent.CLICK, btn_on_Press)
function btn_on_Press(e:MouseEvent){
    gotoAndPlay(2)
}

stop()

2-й кадр:

// if count_down didnt exist, we create it
if(!count_down) var count_down:Number = 3   
else count_down -= 0.05                         

// sometimes the operation give us result like this : 2.9000000000000004 so we should fixe decimals
trace(count_down.toFixed(2))        

// go tp your "lost" frame
if(count_down <= 0) gotoAndStop('lost')
// return to 1st frame
else gotoAndStop(1)         
Другие вопросы по тегам