leafMc.addFrameScript(leafMc.totalFrames-1,sendMsg);
这句语句是说当leafMc播放到最后一帧时,触发一个函数sendMsg,最好不要直接写leafMc的总帧数,而是用leafMc.totalFrames-1,而且必须减一。
这个addFrameScript方法相当于一个监听器,相当于 addEventListener(Event.ENTER_FRAME,*****);而且在官方api里面是没有说明的。
今天在flashguru上看到Actionscript 3.0未公开的addFrameScript()方法.此法主要是适合于使用flash 9创作环境来工作的群体.
addFrameScript的功能是允许你指定在flash player播放头播放到指定的位置时触发事件.这个方法可以接收四个参数,但目前只知道其中的前两个.
语法:
MovieClip.addFrameScript(frame:uint,notify:Function)
用法:
function output()
{
trace('播放头已到了第10帧');
}
//帧数的计算是从0的位置开始的,所以在使用addFrameScript的时候9代表的即是第十帧.
addFrameScript(9,output);
实际上addFrameScript()还可以接收任意多组的参数.如下:
MovieClip.addFrameScript(0,frame1Method, 1,frame2Method, 2,frame3Method);
也就是你说可以同时指定多组触发事件,在1,2,3帧上同时指定触发的动作,如果有不止一个动作事件指定在相同的一个帧上,那么,只有后者的动作会被触发.
如果要移除动作:
MovieClip.addFrameScript(0,null)
{
trace('播放头已到了第10帧');
}
//帧数的计算是从0的位置开始的,所以在使用addFrameScript的时候9代表的即是第十帧.
addFrameScript(9,output);
实际上addFrameScript()还可以接收任意多组的参数.如下:
MovieClip.addFrameScript(0,frame1Method, 1,frame2Method, 2,frame3Method);
也就是你说可以同时指定多组触发事件,在1,2,3帧上同时指定触发的动作,如果有不止一个动作事件指定在相同的一个帧上,那么,只有后者的动作会被触发.
如果要移除动作:
MovieClip.addFrameScript(0,null) //这里我怀疑是MovieClip.addFrameScript(0,null),这里的0就是之前指定的那一帧。