繁体   English   中英

AS3计时器-将零添加到一位数字倒计时,更改字体颜色

[英]AS3 Timer - Add zero to single digit countdown, change font colour

我需要计时器帮助。 我想为游戏创建一个类似于炸弹的数字倒数计时器。

  1. 使用数字字体
  2. 始终为两位数,例如10、09 ... 01、00(看起来像炸弹计时器)。
  3. 最后在最后几秒钟内,将字体变成红色以增加戏剧性。

我目前在下面是一个基本的倒数计时器20-0。 倒数计时变量从20开始,每1000毫秒减少1,该数字显示在文本字段中。 但是字体是通用的,一旦计数低于10,数字前面就不会有零,而且我不知道如何在最后几秒钟更改字体颜色。

public class UsingATimer extends Sprite
{
    //The Timer object
    public var timer:Timer= new Timer(1000, countdown);
    public var countdown:Number = 20;

    //The Text objects
    public var output:TextField = new TextField();
    public var format:TextFormat = new TextFormat();

    public function UsingATimer()
    {
        //Initialize the timer
        output.text = countdown.toString();
        timer.addEventListener(TimerEvent.TIMER, countdownHandler);
        timer.start();

        //Set the text format object
        format.font = "Helvetica";
        format.size = 200;
        format.color = 0x000000;
        format.align = TextFormatAlign.RIGHT;

        //Configure the output text field   
        output.defaultTextFormat = format;
        output.autoSize = TextFieldAutoSize.RIGHT;
        output.border = false;
        output.text = "20";

        //Display and position the output text field
        stage.addChild(output);
        output.x = 200;
        output.y = 100;

    }
    public function countdownHandler(event:TimerEvent):void
    {
        countdown--;
        output.text = countdown.toString();
    }

}

如果没有基本的数字字体,我将不得不嵌入其中一种,我应该可以,但是对其他两种问题的任何帮助将不胜感激。

很抱歉,如果代码无处不在,我是一个初学者。

谢谢你的时间。

我想您已经基本掌握了。 您可以在倒计时处理程序内部进行操作,只需检查该值是否小于10,如果是,则在显示之前在前面附加一个0。

countdown--;
if(countdown < 10){
    output.text = "0" + countdown.toString();
} else {
    output.text = countdown.toString();
}

然后,要更改颜色,这将是相同的逻辑,检查要更改颜色的数字,然后更改TextFormat对象中的颜色并将其应用于TextField。

对于数字字体,您可以搜索并嵌入到Flash中,但是如果您只需要数字/受限字符,则由于它们相对简单,因此也可以对影片剪辑/图形进行制作。 我想取决于您是否需要它,以及它有多灵活。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM