AS3加载外部文件代码示例:SWF, JPG, GIF, PNG
4星 · 超过85%的资源 需积分: 9 182 浏览量
更新于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 上传
2012-04-12 上传
2009-07-30 上传
2010-03-16 上传
dadaibaby
- 粉丝: 0
- 资源: 3
最新资源
- 俄罗斯RTSD数据集实现交通标志实时检测
- 易语言开发的文件批量改名工具使用Ex_Dui美化界面
- 爱心援助动态网页教程:前端开发实战指南
- 复旦微电子数字电路课件4章同步时序电路详解
- Dylan Manley的编程投资组合登录页面设计介绍
- Python实现H3K4me3与H3K27ac表观遗传标记域长度分析
- 易语言开源播放器项目:简易界面与强大的音频支持
- 介绍rxtx2.2全系统环境下的Java版本使用
- ZStack-CC2530 半开源协议栈使用与安装指南
- 易语言实现的八斗平台与淘宝评论采集软件开发
- Christiano响应式网站项目设计与技术特点
- QT图形框架中QGraphicRectItem的插入与缩放技术
- 组合逻辑电路深入解析与习题教程
- Vue+ECharts实现中国地图3D展示与交互功能
- MiSTer_MAME_SCRIPTS:自动下载MAME与HBMAME脚本指南
- 前端技术精髓:构建响应式盆栽展示网站