我正在加载一个影片剪辑,并将帧脚本动态添加到影片的时间轴中。帧脚本有时似乎可以工作,但有时它似乎会跳过包含动态添加的帧脚本的整个关键帧。只是想知道是否MovieClip.addFramScript()
只是不可靠,或者是否其他人都遇到过这样的问题。
问问题
2013 次
2 回答
1
试试这个代码,
在时间线上
//Movieclip instance name 'MC'
MC.addFrameScript(0 ,stopframe);
function stopframe():*
{
MC.stop();
}
或类文件(并使用标签名称)
package
{
import flash.display.MovieClip;
import flash.display.FrameLabel;
import flash.display.*;
public class MC extends MovieClip
{
private var labels:Object
public function MC()
{
labels = this.currentLabels;
for ( var i:int = 0; i < labels.length; i++ )
{
var framelabel:FrameLabel = labels[i];
labels[ framelabel.name ] = framelabel.frame
}
addFrameScript( labels["animstart"], animStart, labels["animend"] - 1, animEnd );
}
public function animStart():void
{
trace("animation start");
}
public function animEnd():void
{
trace("animation end");
}
}
}
于 2012-08-31T08:39:53.860 回答
1
根据我的经验,它并非不可靠。但是语法非常关键,flash 不会针对此类语法问题抛出错误。
片段:
addFrameScript((totalFrames-1),fn_frame); //Correct
addFrameScript((totalFrames-1),fn_frame()); //Incorrect, it will run right away and not on the last frame (the difference is the extra brackets)
public function fn_frame():void
{
trace("END");
}
于 2013-08-30T20:50:44.920 回答