zoukankan      html  css  js  c++  java
  • [ActionScript 3.0] 如何获得实例对象的类名及类

     1 package
     2 {
     3     import flash.display.DisplayObject;
     4     import flash.display.MovieClip;
     5     import flash.display.Sprite;
     6     import flash.events.Event;
     7     import flash.events.MouseEvent;
     8     import flash.utils.getDefinitionByName;
     9     import flash.utils.getQualifiedClassName;
    10     
    17     public class QualifiedClass extends Sprite
    18     {
    19         private var _mc:MovieClip;
    20         
    21         public function QualifiedClass()
    22         {
    23             this.graphics.beginFill(0x000000);
    24             this.graphics.drawRect(0,0,500,500);
    25             this.graphics.endFill();
    26             _mc = new MovieClip();
    27             _mc.graphics.beginFill(0x00ff00);
    28             _mc.graphics.drawRect(0,0,50,50);
    29             this.addChild(_mc);
    30             stage.addEventListener(MouseEvent.CLICK,onClick);
    31             _mc.addEventListener(MouseEvent.CLICK,onClick);
    32         }
    33         private function onClick(e:MouseEvent):void
    34         {
    35             //1.获得某个实例对象的类名:getQualifiedClassName (实例名字符串表达式);
    36             trace("click");
    37             trace(e.target.name); //返回instance**之类的
    38             trace(getQualifiedClassName(e.target)); //返回元件名
    39             
    40             //2.获得某个实例对象的类:constructor
    41             trace(A.prototype.constructor);      // [class A] 
    42             trace(A.prototype.constructor == A); // true 
    43             var myA:A = new A(); 
    44             trace(myA.constructor == A);         // true 
    45             
    46             //3.根据类名获得类: getDefinitionByName(类名);
    47             var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class; 
    48             var instance:Object = new ClassReference(); 
    49             instance.graphics.beginFill(0xff0000); 
    50             instance.graphics.drawRect(50, 50, 50, 50); 
    51             instance.graphics.endFill(); 
    52             addChild(DisplayObject(instance)); 
    53         }
    54         
    55     }
    56 }
    57 dynamic class A {} 
  • 相关阅读:
    原型与继承
    sqlserver优化管理
    vue 错误拦截
    axios 重新发起上次请求
    vue 滚动加载数据
    el-scrollbar组件
    ES服务器优化
    Aspose 生成pdf行距的不正确的问题,行距变高
    DocumentFormat.OpenXml.dll通過word做好的模板生成word
    stm32f103 rt-thread fal easyflash移植过程
  • 原文地址:https://www.cnblogs.com/frost-yen/p/4595254.html
Copyright © 2011-2022 走看看