博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

使用BulkLoader获取SWF文件中的类

Posted on 2011-04-14 23:30  单鱼游弋  阅读(1169)  评论(0编辑  收藏  举报

当BulkLoader把所有的资源都加载完成后,可以使用以下的代码来获取SWF文件中的类,这里假设SWF文件名为index.swf,要获取的类的名称为Boy。为了方便实例化SWF文件中的类,可以定义一个方法。

/** 从SWF文件中获取类实例化对象  
----------------------------------------------------------------------*/
public static function getObjectFromSWF(clsName:String, 
                                                       swfName:String,
                                                       bulkLoader:BulkLoader
                                                       ):Object
{
        var swf:LoadingItem = bulkLoader.get(swfName);
        if (!swf) {
                throw new Error("找不到SWF文件:" + swfName + ".swf");
        }
   
        var cls:Class = ImageItem(swf).getDefinitionByName(clsName) as Class;
        if (!cls) {
                throw new Error("找不到类:" + clsName + ", 来自SWF文件:" 
                                          + swfName + ".swf"); 
        }                   
        return new cls;
}