Flash AS3教程:ImageLoader类
跟ClassLoader差不多,不同的是,他是读取图片的BitmapData,然后可以多次
new Bitamap(ImagesLoader.data)
进行图片调用
多次使用图片,直接用ByteLoader也可以,他加载进来的是字节,还要通过loadBytes
加载进来的,却是一张图片,无法重复使用
虽说要用就loadBytes一下,就是一张图片,实际起来还是比较麻烦
那么这个类,就是帮助你把这些步骤全部省下,直接把BitmapData拿出来
你只需要,用一个引用值接住他
var bd:BitmapData = ImageLoader.data;
然后每次使用这张图片的时候
new Bitamap(ImagesLoader.data)
就行了
该类的具体用法就不详讲了,前面加过的ClassLoader类,在这个类里面都有,而且两个类连代码都没改什么。。
就是少了getClass,hasClass,而多了data属性。相信应该不是很难看懂
示例
CODE:
import index.base..ImageLoader;
源代码
var il:ImageLoader = new ImageLoader;
il.load("http://.xiaos8./uploads/200804/02_230327_1.jpg");
il.addEventListener(Event.COMPLETE,fun);
function fun(e:Event){
addChild(new Bitmap(il.data));
trace(il.loader)
trace(il.url)
}
CODE:
package index.base.{
import flash.display.Loader;
import flash.display.BitmapData;
import flash..URLRequest;
import flash.utils.ByteArray;
import flash.events.Event;
import flash.events.ProgressEvent;
import flash.events.EventDispatcher;
import flash.system.LoaderContext;
public class ImageLoader extends EventDispatcher{
public var url:String;
public var loader:Loader;
public var data:BitmapData;
//构造函数
public function ImageLoader(obj:Object = null,lc:LoaderContext = null) {
if(obj != null){
if(obj is ByteArray){
loadBytes(obj as ByteArray,lc);
}else if(obj is String){
load(obj as String,lc);
}else{
throw new Error("参数错误,构造函数第一参数只接受ByteArray或String");
}
}
}
//加载
public function load(_url:String,lc:LoaderContext = null):void{
url = _url;
loader = new Loader;
loader.load(new URLRequest(url),lc);
addEvent();
}
//加载字节
public function loadBytes(bytes:ByteArray,lc:LoaderContext = null):void{
loader = new Loader;
loader.loadBytes(bytes,lc);
addEvent();
}
//开始侦听
private function addEvent():void{
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressFun);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,pleteFun);
}
//结束侦听
private function delEvent():void{
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,progressFun);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,pleteFun);
}
//加载成功,发布成功事件
private function pleteFun(e:Event):void {
data = loader.content["bitmapData"];
delEvent();
dispatchEvent(e);
}
//加载过程
private function progressFun(e:ProgressEvent):void{
dispatchEvent(e);
}
//清除
public function clear():void{
loader.unload();
loader = null;
data = null;
}
}
}
平面设计师
- 免费平面设计网站 免费平面设计绘图软件
- 平面设计基础知识题库
- 平面设计基础学包括哪些
- ui设计师工资一般多少 北京ui设计师工资一般多少
- 平面设计技巧方法 平面设计技巧总结
- 哪里的平面设计培训班比较好 哪家平面培训设计
- 哪些人不适合学平面设计 平面设计师工资一般多
- 女生学习平面设计还有其独特的优势
- 平面设计大学专业叫什么 平面设计大学专业叫什
- ui就业前景和工资待遇 ui就业前景和工资待遇怎么
- 平面设计ps入门教程 平面设计photoshop 基本操作方
- 免费学平面设计教程 平面设计免费教程网站
- 平面设计就业方向有哪些 平面设计专业就业前景
- 女生学什么设计前景好 女孩学什么设计好赚钱
- 什么人适合学平面设计 学平面设计后悔死了
- 平面设计内容有哪些 平面设计内容包括什么