有一些代码或方法我们经常使用这样的方法其实我们可以整理起来做为自己开发的类库来用,以后就不用每次都写同样的方法了,下面是一个我用来做测试的类。主要是输出动态类生成的动态属性和值。

AS3代码
  1. package com._public._test   
  2. {   
  3.     import flash.display.DisplayObject;   
  4.     import flash.display.MovieClip;   
  5.     import flash.display.Stage;   
  6.        
  7.     /**  
  8.      * ...  
  9.      * @author chx (shch8.com)  
  10.      * 获取对象的属性[索引]或值  
  11.      * 例子:  
  12.      * var arr:Array = new Array()  
  13.      * arr["a"] = "1"  
  14.      * arr[2] = "2"  
  15.      * arr["ca"] = "3"  
  16.      * Test.getArrayIndex(arr)  
  17.      * 结果:  
  18.      * 2  
  19.      * ca  
  20.      * a  
  21.      */  
  22.     public class  Test   
  23.     {   
  24.         //传入一个显示对象能获取它所有父容器的实例名   
  25.         public static function getDisplayObjectPath(_obj:DisplayObject):void {   
  26.             var str:String  
  27.             if (_obj.parent is Stage) {   
  28.                 str+=_obj.name+":Stage"  
  29.                 }else {   
  30.                     var obj:DisplayObject = _obj.parent   
  31.                     str=_obj.name+":"+obj.name  
  32.                     for (var i:int = 1; i < 1000; i++ ) {   
  33.                         if (obj.parent is Stage) {   
  34.                             str += ":Stage"  
  35.                             break  
  36.                             }else {   
  37.                                 obj = obj.parent   
  38.                                 str+=":"+obj.name  
  39.                                 }   
  40.                         }   
  41.                     }   
  42.                 trace(str)   
  43.             }   
  44.             //获取数组的索引   
  45.             public static function getArrayIndex(_arr:Array):void {   
  46.             for (var i in _arr) {   
  47.                 trace(i)   
  48.                 }   
  49.             }   
  50.             //获取数组的值   
  51.             public static function getArrayValue(_arr:Array):void {   
  52.             for each(var i in _arr) {   
  53.                 trace(i)   
  54.                 }   
  55.             }   
  56.             //获取对象的属性   
  57.             public static function getObjectProperties(_obj:Object):void {   
  58.             for (var i in _obj) {   
  59.                 trace(i)   
  60.                 }   
  61.             }   
  62.             //获取对象的值   
  63.             public static function getObjectValue(_obj:Object):void {   
  64.             for each(var i in _obj) {   
  65.                 trace(i)   
  66.                 }   
  67.             }   
  68.             //获取影片剪辑的属性   
  69.             public static function getMovieClipProperties(_mc:MovieClip):void {   
  70.             for (var i in _mc) {   
  71.                 trace(i)   
  72.                 }   
  73.             }   
  74.             //获取影片剪辑的属性值   
  75.             public static function getMovieClipValue(_mc:MovieClip):void {   
  76.             for each(var i in _mc) {   
  77.                 trace(i)   
  78.                 }   
  79.             }   
  80.     }   
  81.        
  82. }