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);
}
Другие вопросы по тегам