Pay for Hesitation: 利用MovieClip載入外部swf

Pages

2008年3月25日 星期二

利用MovieClip載入外部swf

之前講的用SWFLoader的方式似乎比較用在對像的swf是由flex產生的, 但許多時候可能我們有擅長美工的人用Flash MX做出來的動畫想要透過我們的flex程式動態載入.. 簡單講, 就是假設我們在Flash MX做了一個movieclip小動畫, 將它export成一個swf, 然後想透過Flex的多個按鈕元件, 控制這個movieclip在不同時間點播放(像是以前MX的goToAndPlay()到時間軸上的某一點開始播放).

其作法原理是, 在MX中製作動畫的同時依照我們的需求在某些地方加入控制時間軸的actionscript function, 當被載入到Flex的swf中時, 透過MovieClip的方式呼叫這些function, 譬如這個例子,
private function btn1Click(e:MouseEvent):void {
var mc:MovieClip = swfload.content as MovieClip;
mc.a();
//a()函式是我們在動畫flash影格中事先寫好的function
//function a():void{
// gotoAndStop(1);
//}
}
private function btn2Click(e:MouseEvent):void {
var mc:MovieClip = swfload.content as MovieClip;
mc.b();
//b()也是我們在flash影格中事先寫好的function
}
<mx:SWFLoader id="swfload" source="MovieTest.swf"/>
<mx:Button id="btn1" label="GO1" click="btn1Click(event)" x="62" y="379"/>
<mx:Button id="btn2" label="GO2" click="btn2Click(event)" x="212" y="379"/>

沒有留言: