AS3.0中获取对象的类(比如碰撞检测时候检测出碰撞物是由什么AS链接创建的)

AS3.0中获取对象的类(比如碰撞检测时候检测出碰撞物是由什么AS链接创建的)

目录


一、目的

1、想:知道AS3.0中获取对象的类

2、想:当碰撞时候,知道碰撞物体是由什么AS连接动态创建的,这样就可以依照不同的类进行不同的处理

二、参考

1、AS3.0中获取对象的类

  • 总结:很好,碰撞时候,能获得碰撞物体是由什么AS连接创建的

1、

  • 总结:不错

三、操作:一

三、操作:二

Object有一个constructor的动态属性可以返回对象的类,例如:

package
  {
     import flash.display.Sprite;
     
     public class Main extends Sprite
     {
         public function Main()
         {
             var a:Object= new Sprite();
             trace(a.constructor);
            //返回[class Sprite]
         }
     }
}

但是有几点要注意

Proxy类会在调用constructor属性时抛出异常:

Error: Error #2088: Proxy 类不实现 getProperty。它必须由一个子类覆盖。
at Error$/throwError()
at flash.utils::Proxy/http://www.adobe.com/2006/actionscript/flash/proxy::getProperty()

XML,XMLList在调用时返回空;int,uint调用constructor时会返回Number;Vector调用时会返回vector.<*>,例如

package
  {
      import flash.display.MovieClip;
      import flash.display.Sprite;
      
      public class Main extends Sprite
      {
          public function Main()
          {
             var a:Object= new Vector.<MovieClip>();
             trace(a.constructor);
             //返回 [class Vector.<*>]
         }
     }
 }