其时是非常地简单,声明一个变量让它的值递减就可以。
示例1 as2.0
var num=10
this.onEnterFrame=function(){
if(num>0){
num--
trace(num)
}else{
onEnterFrame=null
}
}
示例2 as3.0
var num:Number = 10
stage.addEventListener(Event.ENTER_FRAME,countdown);
function countdown(e:Event ):void
{
if(num>0){
num--
trace(num)
}
else
{
stage.removeEventListener(Event.ENTER_FRAME,countdown);
}
}
那么要是分秒的格式,如 00:00 这样的格式,怎么表达呢
示例3
var frameRate = 24;//帧速
var min = 10;//10分钟
/*---进入帧事件--------------------------------------------------------------
*--- a%b=c 表示a整除b的余数为c 如1÷2 商为0余1, 2÷2商1余0,3÷2商1余1
不难看出是1,3除以2余数都是1,想要得到0和1这样的数就这样表示为:X%2(X是变量)
*--- Math.ceil()向上取整,0.5 取1,Math.floor () 向下取整 0.5取0
*--- time_txt 是一个动太文本的实例名称。
---------------------------------------------------------------------------*/
trace(Math.floor(0.5));
this.onEnterFrame = function()
{
min -= 1 / frameRate / 60;//计算逝去一分钟经过多少秒,一秒读取多少帧。
var sec = min * 60 % 60;//将每减少一分钟转为60秒
if (Math.ceil(sec) >= 10)
{
time_txt.text = "0" + Math.ceil(min - 1) + ":" + Math.ceil(sec);
}
else
{
time_txt.text = "0" + Math.ceil(min - 1) + ":" + "0" + Math.ceil(sec);
}
if (Math.ceil(min) == 0 and Math.ceil(sec) == 0)
{
onEnterFrame = null;
}
};
示例4 as3.0
import flash.events.Event;
var min:Number = 10;//分数
var sec:Number = 0;//秒数
/*-------------------------------帧频侦听函数---------------------------------------*/
stage.addEventListener(Event.ENTER_FRAME,countdown);
function countdown(e:Event ):void
{
min -= 1 / 24 / 60;
sec = min * 60 % 60;
if (Math.ceil(sec) < 10)
{
time_txt.text="0"+Math.ceil (min-1).toString ()+":"+"0"+Math.ceil (sec).toString ();
}
else
{
time_txt.text="0"+Math.ceil (min-1).toString ()+":"+Math.ceil (sec).toString ();
}
if (Math.ceil(min) == 0 && Math.ceil(sec) == 0)
{
stage.removeEventListener(Event.ENTER_FRAME,countdown);
}
}