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: <[email protected]>
>> 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?
>>>
>>>
>>> _______________________________________________
>>> [email protected]
>>> 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
>>
>> _______________________________________________
>> [email protected]
>> 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
>>
>
> _______________________________________________
> [email protected]
> 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
>
_______________________________________________
[email protected]
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
_______________________________________________
[email protected]
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