首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >等待SWFLoader加载swf文件

等待SWFLoader加载swf文件
EN

Stack Overflow用户
提问于 2009-03-18 16:44:59
回答 4查看 1.7K关注 0票数 1

目前,我正在开发一个大量使用外部SWF的应用程序(Flex)。我想创建一个静态方法,它接受一个文件名作为参数,并返回包装在其他类中的SWF。

代码语言:javascript
复制
public static function getSWFWrapperFromFile(path:string):SWFWrapper {
   var loader:SWFLoader = new SWFLoader();
   loader.addListener(Event.COMPLETE, onLoad);
   loader.load(path);
   // If I create new SWFWrapper object here and try to assign it the loader.content  I get null reference

  }

但是,由于非阻塞load()和onLoad处理程序的需要,使用这种方法我不能将逻辑封装在一个函数中。是否有可能在调用load方法后强制延迟?或者也许还有另一种更好的方法?

谢谢你,阿隆佐

EN

回答 4

Stack Overflow用户

发布于 2009-04-10 15:54:45

显示列表针对异步加载进行了良好的设计。您会注意到Loader是DisplayObject派生的类,因此可以直接放在显示列表中。当它的内容被加载时,它将成为Loader的子级。因此,如果SWFWrapper是DisplayObject派生的,则只需在代码末尾执行以下操作:

代码语言:javascript
复制
var wrapper:SWFWrapper = new SWFWrapper();
wrapper.addChild(loader);
return wrapper;
票数 1
EN

Stack Overflow用户

发布于 2009-03-18 16:55:20

您需要等待,直到Loader对象完成。尝试添加事件处理程序。是的,当你有多个加载器,并且必须等到最后一个加载器完成时,整个过程变得模糊起来。但如果您要使用SWFLoader,就是这样的。

票数 0
EN

Stack Overflow用户

发布于 2009-03-18 16:56:13

在flash中,你不能在方法中阻塞-你总是必须使用onLoad处理程序来加载数据。( as3执行模型是单线程的,如果你阻塞了一个方法,程序的其余部分将不会被执行)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/659106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档