Pay for Hesitation: Loading one flex application into Another Flex Application

Pages

2008年3月14日 星期五

Loading one flex application into Another Flex Application

<mx:SWFLoader source="application.swf" />
這個方法,阿德前面介紹過了~
這裡要介紹的是,如何使用外部.swf的method。
注意a.mxml如何取用b.mxml中的setBackground method()

runable b.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
public function setBackground(color:Number):void {
canvas.setStyle("backgroundColor", color);
}
]]>
</mx:Script>
<mx:Canvas id="canvas" backgroundColor="#FFFFFF" width="100" height="100" />
</mx:Application>
==============================================================================
runable a.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.managers.SystemManager;
import mx.events.FlexEvent;
private function initHandler(event:Event):void {
event.target.content.addEventListener(FlexEvent.APPLICATION_COMPLETE,
applicationCompleteHandler);
}
private function applicationCompleteHandler(event:Event):void {
event.target.application.setBackground(0xFFFF00);
}
]]>
</mx:Script>
<mx:SWFLoader source="B.swf" init="initHandler(event)" />
</mx:Application>

以上來自Oreilly 的Programming Flex 2

官方的例子還教你如何讀寫外部swf中的member variable.
也很值得一看。

沒有留言: