动作脚本ScoreBoard

时间:2014-11-03 13:00:12

标签: actionscript-3 helper

你好,我是初学者,  我这里有我的AS3代码。

package  
{
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.media.Sound;
    import flash.net.URLRequest;
    /**
     * ...
     * @author Artur
     */
    public class Scoreboard extends TextField
    {
        public var score:int;
        public function Scoreboard() 
        {
            score = 0;
            var txtf:TextFormat = new TextFormat;
            txtf.color = 0xFFCC33;
            txtf.size = 25;
            txtf.font = "verdana";
            txtf.bold = true;
            this.defaultTextFormat = txtf;
            this.text = "Score : 0"
            this.width = 300;
            this.x = 530;
        }
        public function updateScore(_score:int):void 
        {
            score += _score;
            this.text = "Score: " + score;
        }

    }

}

我想改变TextFormat的颜色,如果得分大于100,它会将颜色改为绿色 如果它低于0到红色。

我有这段代码。

    if (score>100){
        txtf.color = 0xFFCC33;

} else if (score>50){
        txtf.color = 0xFFCC33;


}

我不知道如何将其实现到第一个代码中。 有人可以帮帮我吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

...

public function updateScore(_score:int):void {

    score += _score

    if (score > 100){

        txtf.color = 0x00FF00    // green

    } else if (score < 0){

        txtf.color = 0xFF0000    // red

    }   
    this.setTextFormat(txtf)
    this.text = "Score: " + score

}

...

请注意,这只是为了改进您的代码,我不知道您拨打updateScore的时间和地点。

编辑

声明txtf

...

private var txtf:TextFormat

public function Scoreboard() {

    ...        

    txtf = new TextFormat()

    ....

}

...