Flash AS3教程:ImageLoader類

跟ClassLoader差不多,但是不同的是,他是讀取圖片的BitmapData,然后可以多次
new Bitamap(ImagesLoader.data)
進行圖片調(diào)用
多次使用圖片,直接用ByteLoader也可以,但是他加載進來的是字節(jié),還要通過loadBytes
但是加載進來的,卻是一張圖片,無法重復(fù)使用
雖說要用就loadBytes一下,就是一張圖片,但是實際起來還是比較麻煩
那么這個類,就是幫助你把這些步驟全部省下,直接把BitmapData拿出來
你只需要,用一個引用值接住他
var bd:BitmapData = ImageLoader.data;
然后每次使用這張圖片的時候
new Bitamap(ImagesLoader.data)
就行了
該類的具體用法就不詳講了,前面加過的ClassLoader類,在這個類里面都有,而且兩個類連代碼都沒改什么。。
就是少了getClass,hasClass,而多了data屬性。相信應(yīng)該不是很難看懂
示例:
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;
//構(gòu)造函數(shù)
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("參數(shù)錯誤,構(gòu)造函數(shù)第一參數(shù)只接受ByteArray或String");
}
}
}
//加載
public function load(_url:String,lc:LoaderContext = null):void{
url = _url;
loader = new Loader;
loader.load(new URLRequest(url),lc);
addEvent();
}
//加載字節(jié)
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);
}
//結(jié)束偵聽
private function delEvent():void{
loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,progressFun);
loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,completeFun);
}
//加載成功,發(fā)布成功事件
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;
}
}
}
相關(guān)文章
- flash cs6想要實現(xiàn)鼠標跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實現(xiàn)鼠標跟隨效果的教程,需要的朋友可以參考下2019-05-19
- Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請看下文詳細的教程,需要的朋友2018-03-11
- flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡單的例子,需要的朋友可以參考下http://www.dbjr.com.cn/softs/408402.2018-02-28
flash cs6中怎么使用ActionScript3.0?
flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2018-01-25- 本教程給大家分享一個Flash小教程,教大家在Flash CS6中怎么實現(xiàn)鼠標點擊決定圖像位置?方法很簡單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)2018-01-12
- 本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺位置,教程講解的詳細,感興趣的朋友歡迎前來分享學(xué)習(xí)2017-11-20
在Flash CS6中使用with函數(shù)繪制背景圖教程
本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細,方法也不難,非常適合Flash新手入門學(xué)習(xí)2017-11-18Flash怎么設(shè)置元件坐標?flash使用代碼設(shè)置元件的坐標的教程
Flash怎么設(shè)置元件坐標?flash中導(dǎo)如的元件需要添加坐標,該怎么定位元件坐標呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標的教程,需要的朋友可以參考下2017-10-11- Flash怎么制作來回搖擺的花朵的動畫?Flash中想要給花朵制作一段搖擺的動畫效果,該怎么制作呢?下面我們就來看看詳細的教程,很簡單,需要的朋友可以參考下2017-05-23
- Flash怎么制作流動七彩色的文字?想要讓文字動起來,該怎么使用flash給文字制作一個流動七彩色的動畫呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2017-04-23