AS3中Loader类研究
Loader 类可用于加载 SWF 文件或图像(JPG、PNG 或 GIF)文件。 使用
load()
方法来启动加载。 被加载的显示对象将作为 Loader 对象的子级添加。使用 URLLoader 类加载文本或二进制数据。
Loader 类会覆盖其继承的以下方法,因为 Loader 对象只能有一个子显示对象 -- 其加载的显示对象。 调用以下方法将引发异常:addChild()
、addChildAt()
、removeChild()
、removeChildAt()
和 setChildIndex()
。 要删除被加载的显示对象,必须从其父 DisplayObjectContainer 子级数组中删除 Loader 对象。
注意:在 ActionScript 3.0 中使用的不是 ActionScript 2.0 MovieClipLoader 和 LoadVars 类,而是 Loader 和 URLLoader 类。
使用 Loader 类时,应了解 Flash Player 安全模型,如下所示:
- 您可以加载来自任何可访问源的内容。
- 如果执行调用的 SWF 文件位于网络沙箱中并且要加载的文件是本地的,则不允许加载。
- 如果加载的内容为用 ActionScript 3.0 编写的 SWF 文件,那么除非可以通过调用加载的内容文件中的
System.allowDomain()
或System.allowInsecureDomain()
方法来允许跨脚本排列,否则另一个安全沙箱中的 SWF 文件不能对它执行跨脚本操作。 - 如果被加载的内容为 AVM1 SWF 文件(用 ActionScript 1.0 或 2.0 编写),则 AVM2 SWF 文件(用 ActionScript 3.0 编写)不能对它执行跨脚本操作。 但是,可以通过使用 LocalConnection 类在两个 SWF 文件之间实现通信。
- 如果被加载的内容为图像,则除非该 SWF 文件的域包含在该图像原始域的跨域策略文件中,否则安全沙箱之外的 SWF 文件无法访问其数据。
- 在只能与本地文件系统的内容交互的沙箱中的影片剪辑不能对只能与远程内容交互的沙箱中的影片剪辑使用脚本,反之亦然。
posted on 2013-06-20 09:55 jinglikeblue 阅读(284) 评论(0) 收藏 举报