2010-12-23 76 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;
這比類名猜測更好...