先上 一个 方法 :

       public static function clone(target:Object):*{
           var targetMovie:Class =  target.contructor;
           var clone:* = new targetMovie();
           return clone;

       }

在 AS3 中 有一些 类是 有一些 深度复制的 方法的  如  : BitMapData 但是  像 Array , Vector , MovieClip 都是 木有的  那 用 上面的 方法 是  最好的选择 ..


当然  在 Game 当中  ,  也可以 在 Flash美术资源中(SWF) , 复制 这些 东西的:
       public static function getClazz(className : String,loader : Loader = null) : Class{
           if(null == loader){
               loader = UI_LOADER;
           }
           return loader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class;
       }
       public static function getMovieClip(name : String,loader : Loader = null) : MovieClip{
           try{
               var clazz : Class = getClazz(name,loader);

               if(null != clazz){
                   return new clazz() as MovieClip;
               }
           }catch(e : Error){
               return null;
           }
           return null;
       }

利用 类似getMovieClip 就可达到深度复制的效果了 .. 这个 仅限于 DisplayObject