国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Flash > 正文

Flash AS3教程:ImageLoader類

2020-07-17 13:18:57
字體:
來源:轉載
供稿:網友
前面學習了Flash AS3教程:ClassLoader類和BitmapData的使用。
跟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.net.ImageLoader;

var il:ImageLoader = new ImageLoader;

il.load("http://www.xiaos8.com/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.net{

import flash.display.Loader;
import flash.display.BitmapData;
import flash.net.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,completeFun);
}

//結束偵聽
private function delEvent():void{
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,progressFun);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,completeFun);
}

//加載成功,發布成功事件
private function completeFun(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;
}
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿图什市| 广河县| 芦溪县| 原阳县| 张家口市| 嵊泗县| 兴文县| 泰顺县| 芦山县| 若尔盖县| 乐都县| 齐齐哈尔市| 清丰县| 普陀区| 汶上县| 衡南县| 井研县| 双辽市| 密山市| 曲阳县| 成安县| 斗六市| 绵竹市| 定结县| 大悟县| 库尔勒市| 南澳县| 皮山县| 黑龙江省| 巍山| 抚州市| 广汉市| 沅江市| 新宾| 买车| 贡觉县| 丽水市| 富民县| 阿荣旗| 疏勒县| 微山县|