Awesome! Thanks, I was thinking of doing that, but I wasn't sure how to convert a sprite to a byteArray, but doing it at the URLloader level makes sense. AND you have links for me, awesome!
Thanks very much!
ben

Juan Carlos Anorga wrote:
if you use URLLoader[1] to load in your avm1 swfs then you can save the data as a byte array which you would be able to load into a Loader[2] display object with loadBytes. Everytime you want a duplicate it just create another Loader object and load the byte array in.

- juan

[1] <http://livedocs.adobe.com/flex/2/langref/index.html?flash/net/URLLoader.html&flash/net/class-list.html>

[2] <http://livedocs.adobe.com/flex/2/langref/index.html?flash/display/Loader.html&flash/display/class-list.html>

On Apr 28, 2007, at 8:39 AM, ben gomez farrell wrote:

Thanks! I can't make my sprite into a bitmap, cause it needs to scale big or small after duplication. Even if it wasn't the alpha preview and I was just making simple graphic assets in Flash 8 to use in Flash player 9, isn't there some way to duplicate a loaded AVM1Movie?
thanks!
ben

Muzak wrote:
Personally I wouldn't try mixing the Alpha Preview with Flex.
It's not feature complete and certain things will be quite different in FCS3.

For instance there's the "Flex Component Kit for FCS3" that makes Flex/Flash integration ALOT easier:
http://labs.adobe.com/wiki/index.php/Flex_Component_Kit_for_Flash_CS3

AFAIK, there's no easy way to make copies of loaded swf's.
If they're nothing more than simple graphics, I'd say the easiest way to make copies is to use the BitmapData class.

Here's an example (using mxml), where I'm loading a Flash 8 swf containing a simple graphic (bitmap) on stage. The swf is loaded into an Image component. Once loaded, the Image content (AVM1Movie) is copied. Then the new BitmapData is set as the source of another Image component.

You should be able to do the same in AS3 with the Loader class instead of an Image component.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute">

 <mx:Script>
  <![CDATA[

   private function swfCompleteHandler(evt:Event):void {
    trace("Application ::: swfCompleteHandler");
    trace(evt.currentTarget.content);
    var t:Image = evt.currentTarget as Image
    var c:AVM1Movie = t.content as AVM1Movie;
    trace("    - content width: "+t.content.width);
    trace("    - content height: "+t.content.height);
    //
var bmd:BitmapData = new BitmapData(t.contentWidth, t.contentHeight);
    // or
    //var bmd:BitmapData = new BitmapData(c.width, c.height);
    bmd.draw(c as IBitmapDrawable);
    swfCopy_img.source = new Bitmap(bmd);
   }

  ]]>
 </mx:Script>

 <mx:VBox>
<mx:Image source="f8_movie.swf" scaleContent="false" complete="swfCompleteHandler(event)" />
  <mx:Image id="swfCopy_img" />
 </mx:VBox>

</mx:Application>

regards,
Muzak

----- Original Message ----- From: "ben gomez farrell" <[EMAIL PROTECTED]>
To: "Flashcoders mailing list" <flashcoders@chattyfig.figleaf.com>
Sent: Friday, April 27, 2007 9:32 PM
Subject: [Flashcoders] Duplicating a movieclip/sprite in AS3



Hey everyone,
I can't seem to figure out how to duplicate a sprite in AS3. Thanks to various tutorials online, I got so far as to take the constructor of the sprite I want to duplicate and instantiate a new one.

           var targetClass:Class = (stamp as Object).constructor;
           mStamp = new targetClass() as Sprite;

This works in normal situations. However, the sprite I'm getting are SWF's loaded at runtime. If I trace a normal asset's constructor it will trace as [Object myasset], but no matter what I do, my externally loaded SWF's constructors all trace as
[Object MovieClip] or [Object AVM1Movie].
So of course creating a new instance of the constructor will result in a blank, fresh-made movieclip. Basically my external SWFs are just some graphics on stage in one frame. I've tried setting the document class, and publishing as Flash 8, 9, Actionscript 2, Actionscript 3, and nothing changes. I'm not using Flash CS3 yet, just the AS3 Alpha for making
assets and then compiling with Flex 2 SDK.

Anyone?
Thanks!
ben




_______________________________________________
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

Reply via email to