getDefinitionByName 选自ActionScript3.0 API手册

本文详细介绍了ActionScript3.0中GetDefinitionByName方法的使用方式,包括其参数、返回值以及可能引发的异常。通过示例代码演示如何在舞台上创建一个橙色的正方形,并解释了类引用和动态类引用的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

语言版本 : ActionScript 3.0
RuntimeVersions: AIR 1.0, Flash Player 9

返回 name 参数指定的类的类对象引用。

参数

 name:String — 类的名称。

返回

 Object — 返回 name 参数指定的类的类对象引用。


引发

 ReferenceError — 不存在具有指定名称的公共定义。

(注:如果尝试对密封(非动态)对象使用未定义属性的引用,将引发 ReferenceError 异常。引用未定义变量将导致 ReferenceError 异常,通知您潜在的错误并帮助您排除应用程序代码故障。

但是,引用动态类的未定义属性不会引发 ReferenceError 异常。


示例

以下示例使用 GetDefinitionByNameExample 类在舞台上创建一个橙色的正方形。这是使用以下步骤完成的:
  1. 声明代表橙色背景颜色和 80 像素大小的变量,这些变量稍后将用于绘制正方形。
  2. 在构造函数内,将 Class 类型的变量 ClassReference 赋予 Sprite。
  3. 对名为 instance 的 ClassReference 的实例进行实例化。
  4. 由于 instance 按引用是 Sprite 对象,因此可以使用可用于 Sprite 的方法绘制正方形并将其添加到显示列表。
package {
    import flash.display.DisplayObject;
    import flash.display.Sprite;
    import flash.utils.getDefinitionByName;

    public class GetDefinitionByNameExample extends Sprite {
        private var bgColor:uint = 0xFFCC00;
        private var size:uint = 80;

        public function GetDefinitionByNameExample() {
            var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class;
            var instance:Object = new ClassReference();
            instance.graphics.beginFill(bgColor);
            instance.graphics.drawRect(0, 0, size, size);
            instance.graphics.endFill();
            addChild(DisplayObject(instance));
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值