Actionscript 3 AS3-倒计时条-如何/教程?

Actionscript 3 AS3-倒计时条-如何/教程?,actionscript-3,timer,countdown,Actionscript 3,Timer,Countdown,我想创建一个60秒倒计时条。我已经有了一个从60开始倒数的文本计时器,但我也希望有一个可视的绿色条,随着时间的流逝而减少。我包括两个图形来显示我试图创建的内容 谁能给我指出正确的方向吗?无论是使用一些原始代码还是在线教程,它都会非常有用,因为我在项目的这一部分有点卡住了 谢谢你 因为这与a有关,所以我使用该答案中的代码作为起点: import flash.events.TimerEvent; import fl.transitions.Tween; import fl.transitions

我想创建一个60秒倒计时条。我已经有了一个从60开始倒数的文本计时器,但我也希望有一个可视的绿色条,随着时间的流逝而减少。我包括两个图形来显示我试图创建的内容

谁能给我指出正确的方向吗?无论是使用一些原始代码还是在线教程,它都会非常有用,因为我在项目的这一部分有点卡住了


谢谢你

因为这与a有关,所以我使用该答案中的代码作为起点:

import flash.events.TimerEvent;
import fl.transitions.Tween;
import fl.transitions.easing.None;
import flash.text.TextField;
import flash.display.Shape;

var nCount:Number = 12;
var myTimer:Timer = new Timer(1000, nCount);
timer_txt.text = nCount.toString();
var totalBarWidth:Number = 500;

// this is the shape we will be updating as the timer counts down
var bar:Shape = new Shape();
addChild(bar);

// initialize the graphics of the bar
updateBar();

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;
    }
    updateBar(); // update the graphics of the bar
    timer_txt.text = nCount.toString();
}
function updateBar():void 
{
    bar.graphics.clear();
    // figure out if we're using a green or red fill based off of nCount
    bar.graphics.beginFill(nCount > 10 ? 0x00FF00 : 0xFF0000);
    /* draw the rectangle based off the ratio of nCount to the total
    repeatCount of the timer */
    bar.graphics.drawRect(0, 0, totalBarWidth * (nCount/myTimer.repeatCount), 20);
    bar.graphics.endFill();
}
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);
}
请注意:有很多更好的方法可以做到这一点。例如,我可能会以全宽绘制矩形,然后在
scaleX
属性之间绘制,以获得更平滑的外观。这只是一个简单的示例,可以帮助您入门。



可能的重复不是重复,而是后续。上一个问题的目标是
文本字段
,而这个问题是关于百分比栏的。另一种方法是使用掩码并逐渐增大其大小