AS3 Loader和URLLoader都可以用来加载外部资源,例如图片、音频、视频等。它们的最大区别在于:
- Loader加载的是二进制数据,需要通过Loader.content取得加载资源的显示对象;而URLLoader加载的是文本和二进制数据,需要通过URLLoader.data取得加载数据。
- Loader支持加载SWF文件,可以直接将SWF文件加载到显示列表中,而URLLoader则无法直接加载SWF文件。
对比两个类,我们可以得出以下结论:
- 当加载二进制文件、数据或SWF文件时,应该使用Loader类。
- 当加载文本文件时,应该使用URLLoader类。
接下来,我会结合代码示例详细说明两个类的用法。
Loader的示例说明
以下是一个使用Loader加载图片的示例。我们创建了一个Loader对象,然后使用load方法加载指定路径的图片。在Loader的complete事件中,我们将Loader.content添加到舞台上显示。
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("image.jpg"));
function onComplete(event:Event):void{
addChild(event.target.content);
}
下面是一个使用Loader加载SWF文件的示例。我们创建了一个Loader对象,然后使用load方法加载指定路径的SWF文件。在Loader的complete事件中,我们将Loader.content添加到舞台上显示。
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("example.swf"));
function onComplete(event:Event):void{
addChild(event.target.content);
}
URLLoader的示例说明
以下是一个使用URLLoader加载文本文件的示例。我们创建了一个URLLoader对象,然后使用load方法加载指定路径的文本文件。在URLLoader的complete事件中,我们将URLLoader.data输出到控制台上。
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("example.txt"));
function onComplete(event:Event):void{
trace(loader.data);
}
下面是一个使用URLLoader加载二进制文件的示例。我们创建了一个URLLoader对象,然后使用load方法加载指定路径的二进制文件。在URLLoader的complete事件中,我们将URLLoader.data输出到控制台上。
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onComplete);
loader.load(new URLRequest("example.bin"));
function onComplete(event:Event):void{
trace(loader.data);
}
希望这个攻略能够帮助你更好地理解AS3 Loader与URLLoader的比较。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:AS3 Loader与URLLoader的比较 - Python技术站