具体的讲,有四个属性和三个方法,四个属性中,有两个只读属性和两个读写属性。
两个只读属性中Runing为是否为调用过程中,值为布尔代数,currentCount为当前调用的次数,注意这里是当前,这说明可以改变调用次数,接下来读写属性repeatCount就是用来改变重复调用次数的。同样,另一个读写读写属性delay则可以改变重复调用时的间隔时间。
哇!Timer的功能竟是如此的强大,难以想象啊!
三个方法,一个启动调用:Start(),一个停止调用:Stop();一个重置调用:reset();
下面,我利用一个小动画来介绍一下,Timer类的使用方法:
使用时间轴动画,实现这种效果要非常的简单,也许只需要一个Stop(),但是,我记得有这样一句话,“你要像程序员那样思考!”,我的理解就是,尽量用程序来实现自己目的,而摆脱对时间轴的依赖。
整个代码如下:
var mytimer:Timer = new Timer(1300,7);
//创建一个Timer对象,两个参数为间隔时间和循环次数
var i:int = 0;
//创建一个整数变量作为数组的索引
var mydong = new dong();
var snd = new tong();
//一个音效,一段童声,主要是为程序增加点趣味
mymc2.alpha = 0;
//隐藏用来重复播放的影片剪辑
var myArray:Array = new Array("乡野村姑","太行叩月","草塘寒鹤","风雨兖矿","踏雪寻梅","你们好吗?","想死你们了!");
//随便创建一个数组,当然也可以使用其他方法,比如倒计时和计数器
mytimer.addEventListener(TimerEvent.TIMER,time);
mytimer.addEventListener(TimerEvent.TIMER_COMPLETE,timend);
//添加两个监听事件,一个是过程,一个是调用结束
mymc2.addEventListener(MouseEvent.CLICK,rest);
//这个监听事件是重复播放
mytimer.start();
//timer类最特别的地方,你需要告诉他立即开始
function time(event:TimerEvent):void
{
mydong.play();
mymc.mytext.text = myArray[i];
i++;
}
//上面调用过程的监听函数
function timend(event:TimerEvent):void
{
var channel:SoundChannel = snd.play();
channel.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete);
}
//上面是调用过程结束的监听函数
function onPlaybackComplete(event:Event)
{
mymc2.addEventListener(Event.ENTER_FRAME,onEnterFrame);
}
//上面是音乐播放完毕后的注册监听,因为我要在音乐播放完毕后才能显现重复播放按钮
function onEnterFrame(event:Event):void
{
mymc2.alpha+=.1;
}
//音乐完毕后的监听函数
function rest(event:MouseEvent):void
{
var myBoo:Boolean;
myBoo = mytimer.running;
trace(myBoo);
if(!myBoo){
mytimer.reset();
mytimer.start();
i=0;
}
}
//最后的代码是重复播放