FlashAS3開始後
在不跨網域的前提下,能夠任意的把可視物件丟到指定的容器下
也就是可以有一個.swf裡面就只放常用的素材,要用的時候再加入即可
那要怎麼製作呢
先開啟一個fla,並把相關的物件設定好類別名稱
接著使用Loader把該.swf載入,並在載入成功後使用
這樣就可以載入該物件
方法2, 使用Flex的Embed功能, 把外部的格式崁入到swf裡
當然這是Flex的限定方法, 但可以在FlashCS4使用, 因為FlashCS4也是有使用FlexSDK
SourceCodeDown
在不跨網域的前提下,能夠任意的把可視物件丟到指定的容器下
也就是可以有一個.swf裡面就只放常用的素材,要用的時候再加入即可
那要怎麼製作呢
先開啟一個fla,並把相關的物件設定好類別名稱
接著使用Loader把該.swf載入,並在載入成功後使用
var _RefClass:Class = _ldr.contentLoaderInfo.applicationDomain.getDefinition("MilkmidiCubeMC") as Class; var _milkmidiCubeMC:MovieClip = new _RefClass() as MovieClip; this.addChild(_milkmidiCubeMC);
這樣就可以載入該物件
方法2, 使用Flex的Embed功能, 把外部的格式崁入到swf裡
當然這是Flex的限定方法, 但可以在FlashCS4使用, 因為FlashCS4也是有使用FlexSDK
[Embed(source = "assets/milkmidiDemo.jpg")] private var JpgTexture:Class;//把該元件變成指定的類別 //要使用的時候只要用new物件即可 var _mc:Bitmap = new JpgTexture() as Bitmap; this.addChild(_mc);//那可不可以Embed PV3D的DAE格式呢? //當然是ok的呀, 基本上可以Embed任何格式 [Embed(source = "assets/xml_data.xml", mimeType = "application/octet-stream")] private var XMLTexture:Class;//Embed一個XML檔。 var _xml:XML = new XML( new XMLTexture() );//這樣即可
SourceCodeDown
留言
在Flex 中使用Embed這個方法,
沒有在Flash中使用Loader來得方便。
因為有些時候,要被載入的這個外部swf檔中,
可能本身或某些素材中就含有一些程式,
但如果在Flex 中Embed這個外部swf,
那Flex就會忽略這個swf當中的任何指令及id的設定。
所以,如果使用的開發媒介是Flex,
那使用swfloader這個Flex特有的類別會比embed自由,
也不會增加Flex編譯出來後swf檔的體積,
而且把外部swf載入後,
swf當中的任何素材就都可以任意使用了。
抱歉我不太會描述這些用語,
不過用Flash來製作許多素材,放在個別的swf裡,
然後用Flex來整合,真的節省了很多專案的時間。
這個我倒不是很清楚
我也是最近才開始玩Flex
用swfLoader是比較自由
但有時懶等待載入的時間
所以用Embed比較快
謝謝你提供的訊息
大家可以多多交流
如果你是用DAE類別直接load的話
試試把.dae Embed到swf
這樣速度該會快一些
試了好久都弄不出來@@
而 PV3D AS2 版我沒有玩的很熟