0
我有一個影片剪輯被加載和幀腳本動態地添加到電影的時間線。幀腳本似乎在某些時候可以工作,但有些時候它似乎會跳過包含動態添加的幀腳本的整個關鍵幀。只是想知道如果MovieClip.addFramScript()
是不可靠的,或者如果其他人都遇到過這樣的問題。Flash動作3的addFrameScript不能正常工作
我有一個影片剪輯被加載和幀腳本動態地添加到電影的時間線。幀腳本似乎在某些時候可以工作,但有些時候它似乎會跳過包含動態添加的幀腳本的整個關鍵幀。只是想知道如果MovieClip.addFramScript()
是不可靠的,或者如果其他人都遇到過這樣的問題。Flash動作3的addFrameScript不能正常工作
試試這個代碼,
的時間表
//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");
}
}
}
它不是不可靠的。然而,語法非常關鍵,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");
}
我不會把它可靠,請把你的代碼的問題可能在於你如何試圖做到這一點。 – BadFeelingAboutThis
您是否試圖在Flash Pro中創建的影片剪輯上調用addFrameScript()? Flash Pro將在構造函數中生成對addFrameScript()的調用。這些可能最終會超越你自己的處理程序。 – cleong