做项目要做倒计时,就写了一个倒计时类,分享....
TimeBack.as 代码如下:
package
{
import flash.events.Event;
import flash.events.EventDispatcher;
import flash.events.TimerEvent;
import flash.utils.Timer;
/**
* ...倒计时工具
* @author Emment
*/
public class TimeBack extends EventDispatcher
{
private var timer:Timer;
public var ss:int;
public var mm:int;
public function TimeBack()
{
timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
}
/**
* 秒
* @param mm
*/
public function startRedTime(m:int):void
{
mm = Math.floor(m / 60);
ss = m % 60;
timer.reset();
timer.repeatCount = m;
timer.start();
}
private function timerHandler(e:TimerEvent):void
{
if (ss == 0) {
ss = 59;
if (mm == 0) {
timer.stop();
ss = 0;
}else {
mm --;
}
}else {
ss--;
}
var evt:Event = new Event("seconds");
dispatchEvent(evt);
}
}
}
调用方 代码
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
/**
* ...
* @author Emment
*/
public class Test extends Sprite
{
private var timeBack:TimeBack;
public function Test()
{
timeBack = new TimeBack();
timeBack.addEventListener("seconds",secondsHandler);
timeBack.startRedTime(4*60);
}
private function secondsHandler(e:Event):void
{
//这里是一个动态文字
TextField(test_tt).text = formatTime(timeBack.mm) +":" + formatTime(timeBack.ss);
}
private function formatTime(tt:int):String
{
return String(tt).length == 1?"0" + String(tt):String(tt);
}
}
}
最新评论及回复