ムービー クリップが読み込まれ、フレーム スクリプトがムービーのタイムラインに動的に追加されます。フレーム スクリプトが機能する場合もありますが、動的に追加されたフレーム スクリプトを含むキー フレーム全体をスキップする場合もあります。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
私の経験では信頼性が低いわけではありません。ただし、構文は非常に重要です。フラッシュは、このタイプの構文の問題に対してエラーをスローしません。
スニペット:
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 に答える