getDefinitionByName+Embed 使用,未定义错误

getDefinitionByName 的用处是可以通过字符串映射的取到相应的类。
但是如果你在一个类中,embed 一个图片,将这个图片声明为一个 class 。这样用 getDefinitionByName 来调用,就会出现 “未定义错误”。

package
{
    import flash.display.Bitmap;
    import flash.display.MovieClip;
    import flash.utils.getDefinitionByName;

/**
* ...
* @author FireYang
*/
public class embedTest extends MovieClip
{
[Embed(source="tile1.png")]
private var tile1:Class;

public function embedTest()
{
var string:String = "embedTest_tile1";// 所在类名 +"_"+embed 的类名 var c:Class = getDefinitionByName(string) as Class;
var b:Bitmap = new c();
b.x = 100;
b.y = 100;
trace(b);
addChild(b);
}
}
} 采用上面的形式,红色部分是重点,就没问题了!原因还没找到,呵呵,但是测试了没错!