2010-12-23 7 views
0

Ich versuche, Instanz der Klasse zu erstellen, wenn ich den Namen dieser Klasse bekam. denke ich besser, mein Problem zu erklären, wird dieser Code sein:Problem mit create object, wenn Klassenname des Objekts wissen

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; 

} 
} 

I somefunction aufrufen, und ich erhalte Fehler: [Fault] Ausnahme, Informationen = Referenceerror: Error # 1065: Variable Level0Img wurde nicht definiert.

Was kann daran falsch sein? }

Antwort

2

Sie deklarieren eine verschachtelte Klasse. Die Definition kann nicht anhand des von Ihnen angegebenen Namens gefunden werden.

Try this:

(...) 
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 Es funktioniert jetzt: D – yelcyn77

0

, warum Sie nicht nur var imgClass:Class = Level0Img; schreiben?
Das ist besser als Klassennamen Raten ...

Verwandte Themen