[转]一个拷贝显示对象的静态类, 望有用

  1. package
  2. {
  3.         import flash.display.DisplayObject;
  4.         import flash.display.Sprite;
  5.         import flash.geom.Rectangle;

  6.         public class DisplayObjectUtil
  7.         {
  8.                 
  9.                 // Duplicate显示对象
  10.                 public static function duplicateDisplayObject( target:DisplayObject, auto_add:Boolean = false ):DisplayObject{
  11.                         var cls:Class = Object(target).constructor;
  12.                         var tmp:Sprite = new cls();
  13.                         
  14.                         // 克隆属性
  15.                         tmp.transform = target.transform;
  16.                         tmp.filters = target.filters;
  17.                         tmp.cacheAsBitmap = target.cacheAsBitmap;
  18.                         tmp.opaqueBackground = target.opaqueBackground;
  19.                         if ( target.scale9Grid ) {
  20.                                 var rect:Rectangle = target.scale9Grid;
  21.                                 tmp.scale9Grid = rect;
  22.                         }
  23.                         
  24.                         // 自动加为target的兄弟
  25.                         if ( auto_add && target.parent ) {
  26.                                 target.parent.addChild( tmp );
  27.                         }
  28.                         return tmp;
  29.                 }

  30.                 
  31.         }
  32. }
复制代码
  DisplayObjectUtil.rar (539 Bytes)

你可能感兴趣的:(静态类)