知道对象的类名时创建对象的问题

时间:2010-12-23 14:03:29

标签: actionscript-3 oop reflection

当我得到这个类的名字时,我正在创建类的实例。 我认为更好地解释我的问题将是这段代码:

package  
{

import flash.utils.getDefinitionByName;
public class SomeClass extends ParentClass
{
[Embed(source='../assets/gfx/levelImg/level0.png')]
public static const Level0Img:Class; 

public function someFunction():void
{
var imgString:String = "Level0Img";
var imgClass:Class = getDefinitionByName(imgString) as Class;

}
}

我调用someFunction,我得到错误:[Fault]异常,information = ReferenceError:错误#1065:未定义变量Level0Img。

这有什么问题? }

2 个答案:

答案 0 :(得分:2)

您正在声明一个嵌套的类。您提供的名称无法找到该定义。

试试这个:

(...)
public class SomeClass extends ParentClass
{
    [Embed(source='../assets/gfx/levelImg/level0.png')]
    public static const Level0Img:Class; 

    public function someFunction():void
    {
        var imgString:String = "SomeClass_Level0Img";
        var imgClass:Class = getDefinitionByName(imgString) as Class;
    }
(...)

答案 1 :(得分:0)

为什么不写var imgClass:Class = Level0Img;?这比猜名更好......