WEB开发网
开发学院图形图像Flash AS2未公开类:OnEnterFrameBeacon 阅读

AS2未公开类:OnEnterFrameBeacon

 2009-09-09 00:00:00 来源:WEB开发网   
核心提示:相信大家对影片剪辑的"onEnterFrame"事件一定很熟悉吧,只要播放头在影片剪辑所在桢上就可以不断的触发"onEnterFrame" 事件,AS2未公开类:OnEnterFrameBeacon,并执行相应的动作,在平常的动画制作中,wiyiObj和普通影片剪辑有所不同,wi

相信大家对影片剪辑的"onEnterFrame"事件一定很熟悉吧,只要播放头在影片剪辑所在桢上就可以不断的触发"onEnterFrame" 事件,并执行相应的动作。在平常的动画制作中,有时我们会希望一个普通的对象也具有类似影片剪辑的''onEnterFrame"功能,在这里我告诉大家一个最简便的方法:使用[OnEnterFrameBeacon]类!

[OnEnterFrameBeacon]类是MM未公开的类之一,但它并非隐藏的内建类,而是flash mx 2004自带的自定义类,所以使用它绝对安全,不用担心未来版本是否会支持的问题。它的作者更是大名鼎鼎,就是现在为广大闪客推崇的《flash mx编程创意与实现》作者,加拿大闪客奇才Robert Penner。好了,下面让我们看看如何使用它吧!

----test.fla 开始---

(第一桢上写代码)

  mx.transitions.OnEnterFrameBeacon.init();

  //::重要:: 调用[OnEnterFrameBeacon]类方法'init'进行初始化。其实它也只有这一个方法,功能就是为MovieClip(内建对象)包装上广播器的相关方法。

  var wiyiObj=new Object();

  //生成一个普通对象

  wiyiObj.showHello=function(){

  //为wiyiObj对象定义一个简单方法,在输出面板上显示"Hello!"

  trace("Hello!");

  }

  wiyiObj.onEnterFrame=function(){

  //象为一个影片剪辑一样为wiyiObj对象定义'onEnterFrame'方法

  this.showHello();

  //调用wiyiObj对象的'showHello'方法

  }

  MovieClip.addListener(wiyiObj);

//::重要:: 向MovieClip(内建对象)注册wiyiObj对象为侦听者。它的作用就是接受MovieClip对象不断发出的'onEnterFrame'消息,然后执行自己的'onEnterFrame'方法。

---test.fla 结束--

好了,现在测试一下吧,wiyiObj对象是不是不断地向您说"Hello!"呢?

最后需要补充的是,wiyiObj和普通影片剪辑有所不同,wiyiObj对象从注册为MovieClip对象的侦听者起开始不停地触发'onEnterFrame'事件,并不受播放头的影响。如果你需要它停止触发'onEnterFrame'事件,可以这样:

-------------------------------------------------

MovieClip.removeListener(wiyiObj);

//从MovieClip的侦听者组注销wiyiObj对象

Tags:AS 公开 OnEnterFrameBeacon

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接