[Embed(source="tile1.png")](转载)

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(stringas  Class;
            var b:Bitmap 
= new c();
            b.x 
= 100;
            b.y 
= 100;
            trace(b);
            addChild(b);
        }
    }
}

 

 

posted @ 2009-12-17 06:54  ddw1997  阅读(2347)  评论(0编辑  收藏  举报