BulkLoader是一个不错且使用简单的开源加载类,其能实现对不同类型文件的加载进行管理。
在尝试加载多个文件时候只要使用 add + 文件地址,在加载结束后使用 “get文件类型”+文件地址或加载时候注册的id去获得要得到的文件。
下载地址:
http://code.google.com/p/bulk-loader/
官方:http://www.stimuli.com.br/trane/2007/nov/25/loading-reloaded/
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());
}
}
}
侦听事件。比较厉害的是可以通过加载时候注册的id或文件地址来侦听想要侦听的文件。
// attaching events to all items:// this will fire once all items have been loaded
loader .addEventListener ( BulkLoader.COMPLETE , onAllLoaded) ;
// this will fire on progress for any item
// the event , BulkProgress is a subclass of ProgressEvent (with extra information)
loader .addEventListener ( BulkLoader.PROGRESS , onAllProgress) ;
// this will fire if any item fails to load:
// the event is BulkErrorEvent and holds an array (errors) with all failed LoadingItem instances
loader .addEventListener ( BulkLoader.ERROR , onAllError) ;
// you can also listen to events in individual items
// this will fire as soon as the item registred with the id of "bg" is done loading (even if there are other items to load)
loader .get ( "bg" ) .addEventListener ( Event .COMPLETE ,onBackgroundLoaded)
// this will only trigged if the config.xml loading fails:
loader .get ( "list.xml" ) .addEventListener ( BulkLoader.ERROR , onXMLFailed) ;
获取文件方式:
var
theBgBitmap :
Bitmap
= loader
.getContent(
"bg"
)
as
Bitmap
;
// you don't need to keep a reference to the loader intance, you can get it by name:
var
theBgBitmap :
Bitmap
= BulkLoader.getLoader(
"main-site"
)
.getContent(
"bg"
)
as
Bitmap
;
// you can also use the conviniece methods to get a typed object:
var
theBgBitmap :
Bitmap
= loader
.getBitmap(
"bg"
)
;
// grab a BitmapData directly:
var
theBgBitmap :
Bitmap
= loader
.getBitmapData(
"bg"
)
;
用 BulkLoader实例的add()方法可以很方便地将素材地址加入加载列表
但是当素材太多的时候,加载进度会不准确
解决的办法是将 每个文件的大小提前告诉BulkLoader
例如:dang.mp3 是1000KB
_loader.add("dang.mp3", { id:"dangSound", type:"sound",weight:1000 } );
防止缓存 preventCache:false
做一个负责加载和承载资源的全局单例 对加载的资源进行判断,已经加载的资源 就无需LOADING
没有加载的 就 新add() 这样做相当好
if (!_bulkLoader.hasItem(this._url)) {
_bulkLoader.add(this._url, { type: BulkLoader.TYPE_MOVIECLIP } );
_bulkLoader.start();
}else {
_bulkLoader.reload(this._url);
}
trace(_bulkLoader.items.length);
发表评论
-
AS3 父SWF与子SWF之间传值
2011-02-20 15:19 2617FLASH中 父SWF加载子SWF并向子SWF传值在很多应用上 ... -
flash as3.0 被加载的swf 控制主swf文件触发事件
2011-02-19 14:48 3023比如有两个swf文件 1.swf,2.swf 1.swf ... -
一些很有创意的导航栏设计,给大家分享下。
2011-02-19 11:08 1575希望对各位同学有所帮助。啊哦………… 陆续完善i ... -
浅谈webgame游戏开发技术要点
2011-02-19 11:02 1003写这些只是想和大家交 ... -
aswing
2011-02-19 10:43 857AsWing是一套UI组件框架,纯ActionScript开发 ... -
as3加载外部XML文件
2011-02-18 19:50 1440加载过程如下: 1.使用URLRequ ... -
如何保护swf文件不被反编译软件破解?
2011-02-18 19:42 2172How to protect SWFs from decomp ... -
45度地图编辑器及游戏开发心得
2011-02-15 19:12 1455转载 这个编辑器是本人为公司项目专门开发 的一个功能比较齐 ... -
社区客户端开发技术总结
2011-01-29 22:57 856不管是什么样的项目,都会拆分成一个一个小的模块。最终实现都是些 ... -
“神之惩戒”--国内MMORPG游戏的困局1
2011-01-28 15:13 792《神之惩戒——MMOR ... -
adobe alchemy资料整理
2011-01-28 14:56 2434Adobe 自从2007年中推出了AS3支持 ... -
hitTest(BitmapData.hitTest 方法)
2011-01-25 18:14 1173public hitTest(firstPoint:Poi ... -
AS3使用外部SWF文件的库文件
2011-01-25 15:32 1463在swf文件中使用外部swf文件的库文件,从而达到类似素材 ... -
Flash摄像头游戏课件设计与开发
2011-01-25 11:07 1197[导读] Flash摄像头游戏课件设计与开发 ... -
AS3图像复制BitmapData.copyPixels()
2011-01-22 16:35 1940//舞台属性设置 stage.align ... -
ps样式介绍
2011-01-22 14:32 852PS样式就是效果的集合。“窗口”“样式”就可以打开样式面板。里 ... -
获取当前SWF的绝对路径
2011-01-20 19:22 1374首先 ,说明我测试的系统地址和网络地址的情况: 某电脑 ... -
PureMVC中观察者模式运用
2011-01-20 09:36 1284刚一个开始看PureMVC,一个字乱,摸不着头脑,不过这个要慢 ... -
获取当前SWF的当前路径
2011-01-19 20:00 1441首先 ,说明我测试的系统地址和网络地址的情况: 某电脑 ... -
Event.INIT Event.COMPLETE 区别
2011-01-19 11:50 1280package{ import flash ...
相关推荐
BulkLoader文件加载类库是一个高效且实用的工具,主要用于大批量数据的导入和导出操作。在IT领域,尤其是在数据库管理和大数据处理中,快速、批量地处理数据是至关重要的。BulkLoader类库就是为了满足这样的需求而...
比如,"BulkLoader有缺陷:它会到百分之十几的时候才会获取到全部文件的大小.txt"提到的,可能在某些情况下,BulkLoader在初期可能无法准确报告总加载大小,直到加载过程的后期。这种问题可能会影响用户体验,例如在...
【bulkloader】是一款开源的Flash ActionScript库,主要用于批量加载和管理网络资源,如图片、音频、XML等。在ActionScript 3.0时代,它为开发者提供了高效且灵活的解决方案,尤其对于处理大量媒体文件的项目,可以...
BulkLoader 是一个专门用于批量加载数据的工具,尤其在处理大量外部文件下载场景时非常有用。这个工具由非华人开发者编写,旨在提供一种高效、可监控的文件下载解决方案。BulkLoader 的核心特性包括: 1. **多文件...
"bulkloader下载类"是ActionScript 3(AS3)中的一种工具,它优化了大量文件的下载过程,尤其适用于需要一次性加载多个资源的应用场景。AS3是Adobe Flash平台的主要编程语言,广泛用于创建交互式内容、游戏和富...
BulkLoader是用Actionscript 3(AS3)编写的最小库,旨在使加载和管理复杂的加载需求更加轻松快捷。 BulkLoader采用了一种更加动态,更少架构的方法。 很少导入,并且大量使用了AS3的动态功能,BulkLoader具有一种...
在IT行业中,BulkLoader通常指的是批量数据加载工具,它用于高效地将大量数据导入到数据库或其他数据存储系统中。在本问题中,标题提到的“总字节显示的问题”可能是指在使用BulkLoader进行数据导入时,工具显示的总...
AS3批量下载组件,如BulkLoader,是ActionScript 3(AS3)开发中的一个工具,主要用于优化和加速网络资源的加载,特别是当需要下载大量图片、音频或视频文件时。这个组件允许开发者一次性处理多个文件,提高了用户...
在Flash中,我们可以使用`Loader`类来加载图像文件。`Loader`对象允许我们加载各种类型的媒体,包括位图(如JPG、PNG等)。以下是一个简单的图片加载示例: ```actionscript var loader:Loader = new Loader(); ...
DSE 4.5 批量加载程序示例此演示创建 sstable 文件并通过 jmx 将它们加载到 dse 集群。添加 dse-4.5.0 jar 在开始之前,您需要将 dse jar 添加到本地 Maven 存储库。 为此,请执行DSE_INSTALL_DIR/lib/目录。 在那里...
MySQL是世界上最受欢迎的开源关系型数据库之一,尤其在处理大量数据时,其性能表现优秀。在面对需要批量导入大量数据的场景时,传统的INSERT语句可能会因为效率问题而显得力不从心。这时,`MySqlBulkLoader`就派上了...
为了提高用户体验,可以使用`loadQueue`类或`BulkLoader`库来批量加载资源,这样可以更有效地管理多个加载任务,避免阻塞UI线程。 7. **安全与错误处理** 加载资源时,需要考虑安全策略,如跨域加载和本地文件...
如果选择.tar.gz文件分发,只需将其解压缩到$ HOME目录之类的目录中,然后将bin子目录添加到PATH环境变量中即可。 例如: export PATH="$PATH:$HOME/voltdb-ent-5.3/bin" 您可以选择将其添加到您的.bashrc文件中...
1. 自动化作业执行:Oracle 12c引入了自动化的作业调度功能,例如文件监视器(file watcher)和批量加载监视器(bulkloader watcher)。当特定文件到达本地文件系统时,可以创建作业来自动执行。这有助于提高数据库操作...
BulkLoader(也称为`jbld`)是一个Java程序,用于将服务定义文件加载到Jolt Repository Database中。在使用`jbld`之前,需要确保环境变量`CLASSPATH`包含了JOLT相关的类库路径(例如`jolt.jar`和`joltadmin.jar`)...
批量加载首先,使用schema.cql文件创建架构: $ cqlsh -f schema.cql然后,使用sstableloader将sstableloader加载到 Cassandra: $ sstableloader -d <ip> data/test_bulkloader/target_history(假设您的$PATH有...
卡桑德拉火花 使用 spark 将数据上传到 cassandra 的测试应用程序,例如使用或 。 此示例中的代码取自 Cassandra 2.0.11,但具有对该项目中输出格式和记录编写器副本的。 笔记 示例数据和 schema.cql 位于 src/main/...
可以使用加载队列技术,如AS3的`BulkLoader`库,一次性加载多个资源,避免阻塞用户界面。 虽然现在HTML5提供了更好的原生支持来处理图片和动画,如`<img>`标签、Canvas和SVG,但了解Flash中的图片处理仍有其历史...
appfy.recipe.gae:工具: 在 buildout 目录中安装一个 python 可执行文件和几个 SDK 脚本:appcfg、bulkload_client、bulkloader、dev_appserver 和 remote_api_shell。 它还允许设置默认值来启动 dev_appserver。 ...
设置系统: 建立项目gradle clean build 启动本地开发应用服务器 dev_appserver -p 12380 build\war汇入资料bulkloader.py --restore --url=http://localhost:12380/remote_api --filename=online-src/amor.db ...