日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BulkLoader类使用

發布時間:2023/12/10 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BulkLoader类使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

?

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

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


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

//添加一個PROGRESS事件,這個事件會在隊列加載時不斷觸發。通常可以用于監聽加載進度。
loader.addEventListener(BulkLoader.PROGRESS, onAllItemsProgress);

//隊列編輯完畢后用star方法開始加載隊列
loader.start();
}
public function onAllItemsLoaded(evt : Event):void {
trace("every thing is loaded!");
//建立一個Video對象
var video : Video = new Video();
//從隊列里提取剛才加載的視頻流
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);

//當然,也可以通過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();

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


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

?

文章轉自:http://amazonite.blog.sohu.com/131966709.html

轉載于:https://www.cnblogs.com/Lewis/archive/2010/08/02/1790469.html

總結

以上是生活随笔為你收集整理的BulkLoader类使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。