我在AS3上需要一个随机数生成器,它在屏幕上以每秒一个随机数(1-9)闪烁。随机数很好,但我的闪烁部分有问题。它只是在屏幕上保持不变,而不是闪烁数字。 动态文本框称为myNumbers。我已经尝试在事件处理程序上使用myNumbers.visible =!myNumbers.visible,但它不起作用。
我的代码:
var mytimer:Timer = new Timer(1000,10);
mytimer.addEventListener(TimerEvent.TIMER, timerHandler);
mytimer.start();
function timerHandler(event:TimerEvent):void{
var numbers:Number = Math.floor(Math.random() * (9 - 1 + 1) + 1);
myNumbers.text = numbers+"";
}
感谢任何帮助!
答案 0 :(得分:0)
在启动计时器之前隐藏myNumbers
:
myNumbers.visible = false;
在timerHandler
添加:
myNumbers.visible = true;
setTimeout(hideText, 500);
添加hideText
功能:
function hideText()
{
myNumbers.visible = false;
}
答案 1 :(得分:0)
您可以使用相同的Timer
生成一个数字(每秒)并闪烁文本字段(每0.5秒)。
拿这段代码:
var number:int = 0;
var timer:Timer = new Timer(500);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
timer.start();
function timerHandler(event:TimerEvent):void{
if(timer.currentCount % 2 == 0){
text_field.alpha = 0.2; // you can use text_filed.visible = false;
} else {
text_field.alpha = 1; // you can use text_filed.visible = true;
number = Math.floor(Math.random() * 9) + 1;
text_field.text = String(number); // you can also write it : number.toString();
}
}
这会给你这样的东西:
希望可以提供帮助。