AS3加载外部文件代码示例:SWF, JPG, GIF, PNG
4星 · 超过85%的资源 需积分: 9 113 浏览量
更新于2024-11-24
1
收藏 7KB TXT 举报
本文将介绍如何在Flash AS3中加载外部的SWF、JPG、GIF和PNG文件,利用Loader和URLLoader类实现通用的加载代码。通过监听鼠标点击事件,实现不同类型的文件加载,并展示加载效果。
在AS3中,我们可以使用Loader类来加载各种类型的内容,包括图片(如JPG、GIF、PNG)和SWF文件。Loader类是ActionScript 3中的核心组件,用于加载和显示二进制数据,如位图、矢量图形或SWF文件。以下是一个通用的代码示例,演示如何加载这些文件:
首先,确保在项目中设置System.useCodePage为true,这有助于处理文本编码问题。然后,创建一个Loader对象实例:
```actionscript
System.useCodePage = true;
var loader:Loader = new Loader();
```
接下来,定义显示加载内容的位置和大小:
```actionscript
var SHOW_X:Number = 200;
var SHOW_Y:Number = 50;
var SHOW_W:Number = 400;
var SHOW_H:Number = 300;
```
为了加载不同类型的文件,我们需要监听按钮的鼠标点击事件,并传递相应的文件路径作为参数调用loadobject函数:
```actionscript
loadswf_btn.addEventListener(MouseEvent.MOUSE_DOWN, loadobject("1.JPG"));
loadjpg_btn.addEventListener(MouseEvent.MOUSE_DOWN, loadobject("6.jpg"));
```
loadobject函数可以接收文件路径作为参数,根据文件扩展名动态决定使用Loader还是URLLoader加载:
```actionscript
function loadobject(filePath:String):void {
var extension:String = filePath.split(".").pop().toLowerCase();
if (extension == "swf") {
// 加载SWF文件
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, handleLoadComplete);
loader.load(new URLRequest(filePath));
} else {
// 加载图像文件
var urlRequest:URLRequest = new URLRequest(filePath);
var urlLoader:URLLoader = new URLLoader(urlRequest);
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.addEventListener(Event.COMPLETE, imageLoaded);
}
}
function handleLoadComplete(event:Event):void {
var swfContent:DisplayObject = event.target.content;
addChild(swfContent);
swfContent.x = SHOW_X;
swfContent.y = SHOW_Y;
swfContent.width = SHOW_W;
swfContent.height = SHOW_H;
}
function imageLoaded(event:Event):void {
var binaryData:ByteArray = event.target.data;
var loader:BitmapLoader = new BitmapLoader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoadedComplete);
loader.loadBytes(binaryData);
}
function imageLoadedComplete(event:Event):void {
var bitmapContent:Bitmap = Bitmap(event.target.content);
addChild(bitmapContent);
bitmapContent.x = SHOW_X;
bitmapContent.y = SHOW_Y;
bitmapContent.width = SHOW_W;
bitmapContent.height = SHOW_H;
}
```
在这个例子中,我们还创建了一个TextField对象来显示加载进度,通过TextFormat对象设置字体、大小和颜色:
```actionscript
var inputFormat:TextFormat = new TextFormat();
inputFormat.font = "Arial"; // 可以替换为你需要的字体
inputFormat.size = 12; // 字体大小
inputFormat.color = 0xFF0000; // 红色
var loader_txt:TextField = new TextField();
loader_txt.type = TextFieldType.DYNAMIC; // 动态文本框
loader_txt.text = "加载中...";
loader_txt.setTextFormat(inputFormat);
addChild(loader_txt);
```
通过以上代码,你可以在AS3环境中加载并显示外部的SWF、JPG、GIF和PNG文件。注意,确保你的加载路径正确无误,并根据需要调整显示位置和大小。同时,对于SWF加载,还需要处理加载完成后的事件,以便将内容添加到舞台上。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2013-04-27 上传
2013-03-22 上传
201 浏览量
2010-06-21 上传
140 浏览量
2011-10-18 上传
dadaibaby
- 粉丝: 0
- 资源: 3
最新资源
- my-website
- Pagina-servicio-tecnico
- JSP网络在线考试系统设计(源代码+论文).rar
- flask-template-materialize
- TrumpTurd-crx插件
- VMA-stat:分析VMA Vmware IOPS和MBPS统计信息-开源
- themanik.club
- RTScheduler:实时调度器
- [影音娱乐]M.A.I.T 小麦影视系统 v1.0_m.a.i.tfilmv1.0.rar
- 生日蛋糕:此代码为您想在他/她生日时给他/她惊喜的特别的人烤制生日蛋糕-matlab开发
- CSharpUsefulCode,c#源码sendkeys,c#
- challenge-3-repository
- [图片动画]在线批量生成缩略图工具(PHP)_remini.rar
- pro41
- fullstackopen
- CRUD-operations-using-MEAN-Stack:它是一个Web应用程序,用于使用MEAN Stack添加,删除,编辑和更新组织中员工的详细信息