操作AS3.0中的timmer()对象

  在这里我只想谈一下时间间隔函数的变化,在AS2中有两个时间间隔函数,我们最常用的可能就是setinterval(),另外还有是setTimeout();但在AS3中,多了一个Timer类,也是用来进行间隔时间调用函数的。与前两者不同的是,这个函数有一些属性和方法,可以控制调用过程。

  具体的讲,有四个属性和三个方法,四个属性中,有两个只读属性和两个读写属性。
两个只读属性中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;

       }

}

//最后的代码是重复播放

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值