未公开类OnEnterFrameBeacon的使用技巧

未公开类OnEnterFrameBeacon的使用技巧
作者:wiyiflash  时间:2004-7-1 13:24:47  类型:原创  来源:维艺–Flash
统计信息: 总计:83  今日:1  评论数:0
 
相信大家对影片剪辑的”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对象 

版权声明:本文为fork原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/fork/articles/27260.html