addFrameScript--未公开的方法 (

 

前阵在看MovieClip类时曾看到有关addFrameScript这个方法,当时未在意,恰好在做一个项目时有所需,经研究,原来这个方法是Flash cs3未公开的方法,其prototype如下: 

// NON-DOCUMENTED (MANUAL ADDITION)
//Attach a callback method to a frame. Note that this will replace any timeline code or 
//  previously attached callback.
// The callback method should not expect any parameter.

// @param frame             <uint> Target frame number (starting from 0).
// @param notify            <Function> Callback method to attach.
//

public function addFrameScript(frame:uint, notify:Function):void;

    从上表格内容仔细看,原来这是一个未曾公开的方法,译成中文大意是:附加一个回调函数到指定帧上。值的 注意的是这将替换任何时间轴代码或先前的附加回调函数。此回调函数无返回值。什么意思?先看第一个参数frame,明确说明这是一个目标帧数(索引值从0 开始),也就是用代码指定的第几帧;notify,回调函数,即当时间轴上的播放头播放到指定帧时所执行的指定函数,这个回调函数实际上是一个事件处理函 数。

    用法示例:

    舞台上有一个MovieClip,实例名为foo,当然这个foo是一段效果很炫的动画了~!当到达第300帧时,我要检测一下是否到达300帧,代码如下: 

foo.addFrameScript(299,gotoAndFun);

function gotoAndFun():void

{

    trace("顺利到达第300帧了吧~!");

}

    这里请务必注意:帧数的计算是从0开始~!

    再查相关资料,原来addFrameScript()还可以接收任意多组的参数: 

 MovieClip.addFrameScript(0,frame1Method, 1,frame2Method, 2,frame3Method);

    也就是说可以同时指定多组触发事件,在1,2,3帧上同时指定触发的动作,如果有不止一个动作事件指定在相同的一个帧上,那么,只有后者的动作会被触发~!

    如果要移除动作怎么做呢?很简单,回调函数为null即可,如下示: 

 
MovieClip.addFrameScript(0,null);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值