2010-12-23 55 views
0

当我有这个类的名字时,我正在创建类的实例。 我想更好地解释我的问题将是此代码:知道对象的类名时创建对象的问题

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,我得到错误:[错误]例外,信息=的ReferenceError:错误#1065:没有定义的变量Level0Img。

这有什么问题? }

回答

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; 
    } 
(...) 
+0

Thx:D它正在工作:D – yelcyn77 2010-12-23 15:08:15

0

你为什么不只是写var imgClass:Class = Level0Img;
这比类名猜测更好...