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;
}
我不知道如何将其实现到第一个代码中。 有人可以帮帮我吗?
谢谢。
答案 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()
....
}
...