<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" click="loadpic()">
<mx:Script>
<![CDATA[
//导入需要的类包
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event; //声明Loader类 private var pictLdr:flash.display.Loader = new Loader(); //声明资源所在的位置,以字符串形势出现。
private var pictURL:String = "C:/Documents and Settings/Administrator/桌面/Flash/bernhardwolff.swf"; //声明URLRequest对象
private var pictURLReq:URLRequest = new URLRequest(pictURL); //声明Sprite实例为容器
private var container:Sprite = new Sprite(); //加载图片函数
private function loadpic():void
{
//通过Load加载图片
pictLdr.load(pictURLReq); //将容器添加在舞台上
this.stage.addChild(container); //添加监听事件,当加载内容结束后调用事件。
pictLdr.contentLoaderInfo.addEventListener(Event.COMPLETE,imgLoaded);
} //加载结束后调用的函数
private function imgLoaded(e:Event):void
{
//将图片添加到Sprite容器中
this.container.addChild(this.pictLdr.content);
}
]]>
</mx:Script>
</mx:Application>

  

知识备忘:

相关知识说明:     Loader 类可用于加载 SWF 文件或图像(JPG、PNG 或 GIF)文件。     使用 load() 方法来启动加载。 被加载的显示对象将作为 Loader 对象的子级添加。        使用 URLLoader 类加载文本或二进制数据。        使用Load类时,我们还应该特别了解 Flash Player安全模型。

1、您可以加载来自任何可访问源的内容。

2、如果执行调用的 SWF 文件位于网络沙箱中并且要加载的文件是本地的,则不允许加载。

备注:什么是网络沙箱?

概述沙箱处理是一个通用安全性术语,它适用于所有降低某应用程序运行特权的环境。它对于从 Internet 下载的沙箱应用程序尤为重要,因为这些应用程序往往来源不明或不可信。

举例说明:见文章:http://cs1022.spaces.live.com/blog/cns!34345A50FF5F1AC1!192.entry

3、如果加载的内容为用 ActionScript 3.0 编写的 SWF 文件,那么除非可以通过调用加载的内容文件中的 System.allowDomain() 或 System.allowInsecureDomain() 方法来允许跨脚本排列,否则另一个安全沙箱中的 SWF 文件不能对它执行跨脚本操作。

4、如果被加载的内容为 AVM1 SWF 文件(用 ActionScript 1.0 或 2.0 编写),则 AVM2 SWF 文件(用 ActionScript 3.0 编写)不能对它执行跨脚本操作。 但是,可以通过使用 LocalConnection 类在两个 SWF 文件之间实现通信。

5、如果被加载的内容为图像,则除非该 SWF 文件的域包含在该图像原始域的跨域策略文件中,否则安全沙箱之外的 SWF 文件无法访问其数据。

6、在只能与本地文件系统的内容交互的沙箱中的影片剪辑不能对只能与远程内容交互的沙箱中的影片剪辑使用脚本,反之亦然。

解决的办法:        当从不受信任的源(如除 Loader 对象的根 SWF 文件以外的域)加载 SWF 文件时,您可能需要为 Loader 对象定义蒙版,以防止将加载的内容(Loader 对象的子级)绘画到该蒙版之外的舞台部分中。

如以下代码所示:

  import flash.display.*;
import flash.net.URLRequest;
var rect:Shape = new Shape();
rect.graphics.beginFill(0xFFFFFF);
rect.graphics.drawRect(0, 0, 100, 100);
rect.graphics.endFill();
addChild(rect);
var ldr:Loader = new Loader();
ldr.mask = rect;
var url:String = "http://www.unknown.example.com/content.swf";
var urlReq:URLRequest = new URLRequest(url);
ldr.load(urlReq);
addChild(ldr);

  

练习过程中发现的问题说明:

在我做的过程中,发现BUG信息:

ArgumentError: Error #2025: 提供的 DisplayObject 必须是调用者的子级。

因为我是初学,所以,发现问题只能寻求BaiDu、Google的帮助,网上给的答案中我认为最靠谱的是:删除了不存在的对象,我觉得这个答案有点靠谱。但是,从帮助上看,我觉得应该是:Loader 类会覆盖其继承的以下方法,因为 Loader 对象只能有一个子显示对象 -- 其加载的显示对象。调用以下方法将引发异常:addChild()、addChildAt()、removeChild()、removeChildAt() 和 setChildIndex()。 要删除被加载的显示对象,必须从其父 DisplayObjectContainer 子级数组中删除 Loader 对象。

Flex3.0 Loader类的练习的更多相关文章

  1. EF 5.0 帮助类

    EF 5.0 帮助类 加入命名空间: using System; using System.Data; using System.Data.Entity; using System.Data.Enti ...

  2. EF 5.0 帮助类 增删改查

    原文地址:http://www.cnblogs.com/luomingui/p/3362813.html EF 5.0 帮助类 加入命名空间: using System; using System.D ...

  3. Aspose.Cells for .NET 8.5.0 工具类

    基于 Aspose.Cells for .NET 8.5.0 工具类, Aspose.Cells for .NET 8.5.0 这个自己去CSDN下载里面有破解的,没有破解的导出excel的时候会(A ...

  4. Cocos2d-x 3.0标签类Label

    Cocos2d-x 3.0后推出了新的标签类Label,这种标签通过使用FreeType[1]来使它在不同的平台上有相同的视觉效果.由于使用更快的缓存代理,它的渲染也将更加快速.Label提供了描边和 ...

  5. Swift4.0复习类

    1.类的属性: 2.类的方法: 3.类作为引用类型: “Swift新增了一对操作符 === 与 !== 用于判定同一个类的两个对象引用是否指向同一对象实例.” 摘录来自: “大话Swift 4.0”. ...

  6. vc6.0打开类向导时报错-Parsing error: Expected ";".Input Line: "解决方法

    --------------------------- Microsoft Visual C++ --------------------------- Parsing error:  Expecte ...

  7. C++ //纯虚函数和抽象类 // 语法 virtual 返回值类型 函数名 (参数列表)=0 //当类中有了纯虚函数 这个类也称为抽象类

    1 //纯虚函数和抽象类 2 // 语法 virtual 返回值类型 函数名 (参数列表)=0 3 //当类中有了纯虚函数 这个类也称为抽象类 4 5 6 #include <iostream& ...

  8. [ActionScript 3.0] AS3.0 Loader加载子swf时是否需要指定新的应用程序域ApplicationDomain

    实际应用中, Loader加载子swf时是否需要指定新的应用程序域ApplicationDomain,需要择情况而定. 1.如果在本地将项目位置添加到flashplayer受信任位置(上一篇文章所述) ...

  9. CodeIgniter(CI 3.0)分页类实践记录

    最近在学习B/S,选择了PHP CI框架作为切入点. 在尝试制作个人CMS的时候遇到了需要分页的情况,网上好像搜不到3.0版本以上的例子,下面附上本地实验的代码,供参考. 数据库情况如下: 首先看Co ...

随机推荐

  1. 《大道至简-Team》

    已经学习了<大道至简>两章,我们了解了编程的本质和“懒人”造就了方法.书中没有提供给我们编程的技巧,捷径,而是从别的方面为我们讲解了编程的精义.第三章就为我们引入了“团队”这个概念. 我们 ...

  2. 命令 tar & zip

    安装zip yum install -y unzip zip: tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解 ...

  3. allegro下快捷键设置[转贴]

    zz : http://yuandi6.blog.163.com/blog/static/207265185201210245435397/ 修改变量文件,设置自定义快捷键. Allegro可以通过修 ...

  4. task判断任务是否存在

    tasklist|find /i "qq.exe" ||exit taskkill /im qq.exe /f

  5. UVa 537 Artificial Intelligence?

    题目大意:输入一个字符串,根据物理公式P=U*I,已知其中两个量,求第三个量,结果保留两位小数.   Artificial Intelligence?  Physics teachers in hig ...

  6. 51nod1495 中国好区间

    双指针扫一遍 #include<cstdio> #include<cstring> #include<cctype> #include<algorithm&g ...

  7. Asp.Net判断字符是否为汉字的方法大全

    判断一个字符是不是汉字通常有三种方法: 第一种用 ASCII 码判断,缺点:把全角逗号“,”当汉字处理 第二种用汉字的 UNICODE 编码范围判 断, 第三种用正则表达式判断 1.用ASCII码判断 ...

  8. 代码开光,Orz

    有一次在cf上看到了,666,- - // // _oo0oo_ // o8888888o // 88" . "88 // (| -_- |) // 0\ = /0 // ___/ ...

  9. 同步内核缓冲区sync、fsync和fdatasync函数

    转自http://www.2cto.com/os/201409/339460.html 同步内核缓冲区 1.缓冲区简介 人生三大错觉之一:在调用函数write()时,我们认为该函数一旦返回,数据便已经 ...

  10. Apache Conf/Vost/xx.conf 文件配置

    #监听8086端口Listen 8086 NameVirtualHost *:8086#保持绝对一致 <VirtualHost *:> ServerName localhost Serve ...