开发者

Problem with create object when know object's class name

I'm tring to create instance of class, when I got name of this class. I think better to explain my problem will be this code:

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 = getDefi开发者_高级运维nitionByName(imgString) as Class;

}
}

I invoke someFunction, and I get error: [Fault] exception, information=ReferenceError: Error #1065: Variable Level0Img was not defined.

What can be wrong with this ? }


You are declaring a nested Class. The definition can't be found by the name you provided.

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


why don't you just write var imgClass:Class = Level0Img;?
That's better than classname guessing...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜