日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

BulkLoader類使用

系統(tǒng) 2416 0

BulkLoader提供簡單的載入函數(shù),不管要載入的是xml、swf還是聲音文件,都只使用同一接口。功能強(qiáng)大,十分推薦。

?

用法,載入xml文件:

var bulkLoader:BulkLoader = new BulkLoader('main loading');
bulkLoader.add('my_xml_file.xml');
bulkLoader.start();

引用前面載入的資源:

var myXML:XML = BulkLoader.getLoader("main loading").getXML("my_xml_file.xml");

?

更全面的用法:

?

package {
import br.com.stimuli.loading. BulkLoader ;
import br.com.stimuli.loading. BulkProgressEvent ;
import flash.events.*;
import flash.display.*;
import flash.media.*;
import flash.net.*;

public class SimpleExampleMain extends MovieClip {
public var loader : BulkLoader;
public var v : Video;
public var counter : int = 0;

public function SimpleExampleMain() {
//構(gòu)建BulkLoader的時(shí)候需要給它一個(gè)名稱
loader = new BulkLoader("main-site");
//設(shè)置輸出日志
loader.logLevel = BulkLoader.LOG_INFO;
//構(gòu)建好了以后,通過add方法往隊(duì)列里添加需要加載的對象
loader.add("photo.png");
//添加加載對象時(shí)候,也可以給它添加一個(gè)id,方便以后調(diào)用
loader.add("images.jpg", {id:"bg"});
//還可以通過priority屬性調(diào)整加載對象的加載順序,priority值越大,優(yōu)先權(quán)越高,越早加載
loader.add("list.xml", {priority:20, id:"config-xml"});
//加載一個(gè)動(dòng)畫,加載動(dòng)畫的時(shí)候可以用pausedAtStart屬性暫停播放動(dòng)畫
loader.add("mov.fla", {maxTries:6, id:"the-video", pausedAtStart:true});
//maxTries屬性用于設(shè)定加載失敗時(shí)的重試次數(shù),注意,這里的“id”用了字符串命名
loader.add("song.mp3", {"id":"soundtrack", maxTries:1, priority:100});

//看了最新版本的文檔,已經(jīng)開始支持swf和json,一陣欣喜。


//添加一個(gè)COMPLETE事件,這個(gè)事件會(huì)在隊(duì)列里的所有對象都加載完畢后觸發(fā)
loader.addEventListener(BulkLoader.COMPLETE, onAllItemsLoaded);

//添加一個(gè)PROGRESS事件,這個(gè)事件會(huì)在隊(duì)列加載時(shí)不斷觸發(fā)。通常可以用于監(jiān)聽加載進(jìn)度。
loader.addEventListener(BulkLoader.PROGRESS, onAllItemsProgress);

//隊(duì)列編輯完畢后用star方法開始加載隊(duì)列
loader.start();
}
public function onAllItemsLoaded(evt : Event):void {
trace("every thing is loaded!");
//建立一個(gè)Video對象
var video : Video = new Video();
//從隊(duì)列里提取剛才加載的視頻流
var theNetStream : NetStream = loader.getNetStream("the-video");
addChild(video);
video.attachNetStream(theNetStream);
theNetStream.resume();
video.y = 300;
//提取圖片

//可以直接通過url提取對象

var bitmapCats : Bitmap = loader.getBitmap("photo.png");
bitmapCats.width = 200;
bitmapCats.scaleY = bitmapCats.scaleX;
addChild(bitmapCats);

//當(dāng)然,也可以通過id提取對象
var bitmapShoes : Bitmap = loader.getBitmap("bg");
bitmapShoes.width = 200;
bitmapShoes.scaleY = bitmapShoes.scaleX;
bitmapShoes.x = 220;
addChild(bitmapShoes);

//提取音頻
var soundtrack : Sound = loader.getSound("soundtrack");
soundtrack.play();

//提取一個(gè)xml文檔
var theXML : XML = loader.getXML("config-xml");
trace(theXML);
}
//通過BulkProgressEvent的loadingStatus方法可以顯示加載過程中的所有信息!
public function onAllItemsProgress(evt : BulkProgressEvent):void {
trace(evt.loadingStatus());
}
}
}


這里特別提出一點(diǎn),就是加入progess事件,當(dāng)載入的對象太多,函數(shù)中的totalBytes并不能同步獲取所有資源的Bytes,evt.loadingStatus()方法列出了所有的onProgess可以檢測到的屬性,通過N此檢測,我確信這是一個(gè)BUG。loadedBytes是正常顯示,而totalBytes會(huì)在loading接近尾聲的時(shí)候才能夠獲取。我查看了code.google的文檔,找到了一個(gè)方法,還沒有去驗(yàn)證 loader.get("id").addEventListener(Event.COMPLETE,onBackgroundLoaded)獲取眾多資源中的特定支援,應(yīng)用在Complete方法上,這樣是否同樣可以應(yīng)用在PROGRESS恩?如果在獲取每個(gè)單一資源的以后執(zhí)行break,再把單一資源的totalBytes相加在一起,是否可以得出我們在總的onProgess方法里獲取不到的totalBytes?

?

文章轉(zhuǎn)自: http://amazonite.blog.sohu.com/131966709.html

BulkLoader類使用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 措美县| 双牌县| 花莲县| 枞阳县| 疏附县| 英吉沙县| 昭苏县| 高要市| 漳州市| 扎赉特旗| 巴里| 木里| 淮滨县| 灵台县| 夏津县| 山丹县| 龙岩市| 雷波县| 尚义县| 信阳市| 梓潼县| 泸定县| 独山县| 潞西市| 师宗县| 信阳市| 吉安市| 武义县| 滨州市| 天津市| 诏安县| 巴楚县| 琼海市| 旌德县| 繁昌县| 米林县| 清徐县| 昂仁县| 山西省| 信宜市| 方山县|