Hmmm... it seems that AVM2 has solved the classic problem we had with Flash that forced us to use RSL to do this kind of thing? I mean, we couldn´t just load a swf and use it´s assets on the parent context and vice-versa... is it possible with flex 2?
Marcelo. On 8/21/06, Samúel Jónasson <[EMAIL PROTECTED]> wrote:
Solved it. Actually I was complicating things when trying to use the samples in other articles. Do this if you are interested in checking: - Create a skin.swf - Create one symbol and export it as "Button_up" - Publish to build the swf. - Use the following to include the skin at runtime. package { import flash.display.*; import flash.errors.*; import flash.events.*; import flash.system.*; import flash.net.*; public class SkinTest extends Sprite{ private var theSkin:Loader; public function SkinTest(){ loadSkin(); } private function loadSkin():void{ theSkin = new Loader(); theSkin.contentLoaderInfo.addEventListener(Event.COMPLETE, skinLoadedHandler); theSkin.load(new URLRequest("skin.swf")); } private function skinLoadedHandler(event:Event):void{ // try to use symbol from skin.swf var asset:Sprite = getSkinAsset("Button_up"); addChild(asset); } private function getSkinAsset(skinAsset:String){ var assetClass:Class = theSkin.contentLoaderInfo.applicationDomain.getDefinition(skinAsset) as Class; var asset:Object = new assetClass(); return asset; } } } I hope this helps someone. Sammi Samúel Jónasson wrote: > His. > > thank you for your response. > > I had read this article as well but didn't find the solution to my > problem. It is really important for me not to have to compile my app > when the skin changes - so they need to load at runtime. So if I have > two files: > > - assets.swf > - app.swf > > ...the symbols in assets.swf have a "auto generated" classes. So a > "Star" symbol would have a "Star" class generated on export. > Then app.swf loads the assets.swf at runtime of with some magic ( as > explained in some of the articles ) has access to the classes in > assets.swf and can instantiate them. > > So if i need a star: > > var myStar:Star = new Star(); > addChild(myStar); > > ...and I get the symbol created in assets.swf. > > > Matthew Ganz wrote: >> hi. >> >> i don't have the answer to your question but i did see this post on >> keith peters' blog this morning that may help you out: >> >> http://www.bit-101.com/blog/?p=853 >> ----- Original Message ----- From: "Samúel Jónasson" >> <[EMAIL PROTECTED]> >> To: <flashcoders@chattyfig.figleaf.com> >> Sent: Monday, August 21, 2006 10:31 AM >> Subject: [Flashcoders] Using assets from external SWF >> >> >>> Hi everyone, >>> >>> I am trying to find out how to use external SWF as a library of >>> assets that I can instantiate in my as3 projects. I have gone >>> through several articles that "almost" explain this. One in >>> particular is "Loading Flex Skins at Runtime" at >>> http://blogs.adobe.com/kiwi/2006/07/ >>> >>> Basically I want to have my assets (skins, icons etc) in this >>> external swf (assets.swf ) that I create in Flash 9. Then load that >>> file with the Loader class at runtime in an as3 project and >>> instantiate the "classes" of the assets to add them to the stage, >>> once or more. >>> >>> Does anyone have a working sample of this? >>> >>> >>> _______________________________________________ >>> Flashcoders@chattyfig.figleaf.com >>> To change your subscription options or search the archive: >>> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >>> >>> Brought to you by Fig Leaf Software >>> Premier Authorized Adobe Consulting and Training >>> http://www.figleaf.com >>> http://training.figleaf.com >> >> _______________________________________________ >> Flashcoders@chattyfig.figleaf.com >> To change your subscription options or search the archive: >> http://chattyfig.figleaf.com/mailman/listinfo/flashcoders >> >> Brought to you by Fig Leaf Software >> Premier Authorized Adobe Consulting and Training >> http://www.figleaf.com >> http://training.figleaf.com >> > > _______________________________________________ > Flashcoders@chattyfig.figleaf.com > To change your subscription options or search the archive: > http://chattyfig.figleaf.com/mailman/listinfo/flashcoders > > Brought to you by Fig Leaf Software > Premier Authorized Adobe Consulting and Training > http://www.figleaf.com > http://training.figleaf.com > _______________________________________________ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com
_______________________________________________ Flashcoders@chattyfig.figleaf.com To change your subscription options or search the archive: http://chattyfig.figleaf.com/mailman/listinfo/flashcoders Brought to you by Fig Leaf Software Premier Authorized Adobe Consulting and Training http://www.figleaf.com http://training.figleaf.com