AS3 - изменение цвета таймера обратного отсчета
С помощью интерактивного учебного пособия я создал простой 60-секундный таймер обратного отсчета. Мне бы очень хотелось, чтобы цвет текста изменился на красный, когда таймер достигнет 10 секунд. Любая подсказка, как я могу добавить к этому AS, чтобы это произошло?
Дополнительный вопрос: когда таймер достигнет нуля, я бы хотел, чтобы все текстовое поле исчезло так, чтобы ноль больше не был виден. Есть мысли по этому поводу?
Вот мой код, и спасибо!!!
var nCount:Number = 60;
var myTimer:Timer = new Timer(1000, nCount);
timer_txt.text = nCount.toString();
myTimer.start();
myTimer.addEventListener(TimerEvent.TIMER, countdown);
function countdown(e:TimerEvent):void
{
nCount--;
timer_txt.text = nCount.toString();
}
1 ответ
Решение
Чтобы изменить цвет, добавьте оператор if к вашему TimerEvent.TIMER
обработчик.
Чтобы исчезнуть в конце, добавьте слушателя для TimerEvent.COMPLETE
,
import flash.events.TimerEvent;
import fl.transitions.Tween;
import fl.transitions.easing.None;
var nCount:Number = 60;
var myTimer:Timer = new Timer(1000, nCount);
timer_txt.text = nCount.toString();
myTimer.start();
myTimer.addEventListener(TimerEvent.TIMER, countdown);
// add a complete listener to fade out the TextField
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, fadeOut);
function countdown(e:TimerEvent):void
{
nCount--;
if(nCount == 10)
{
// if the count is at 10, switch the text color to red
timer_txt.textColor = 0xFF0000;
}
timer_txt.text = nCount.toString();
}
function fadeOut(e:TimerEvent):void
{
// I prefer GreenSock for tweening, but this is how you'd do it with the buil-in Flash Tween
var t:Tween = new Tween(timer_txt, "alpha", None.easeNone, 1, 0, .5, true);
}