AS3取消了movieclip的loader类,所以加载图片除了用
img.load(new URLRequest("assets/materials/c.png"));
//加载完成后的事件响应
img.contentLoaderInfo.addEventListener(Event.COMPLETE, setup);
就没有其他办法了,特别在要载入大量图片的环境下,就很难使用。
前几天发现了BulkLoader,大大简化了载入图片所需的步骤。而且可以对应各种格式,比如xml,video,声音,图片等文件。下面这个例子就是和pv3d结合使用的例子。
<object class="embedflash" width="425" height="355" data="http://www.lotloft.com/share/CubeWithDifferentSides.swf" type="application/x-shockwave-flash">
</object>
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;
import br.com.stimuli.loading.BulkErrorEvent;
import br.com.stimuli.loading.BulkLoader;
import br.com.stimuli.loading.BulkProgressEvent;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.materials.shaders.PhongShader;
import org.papervision3d.materials.shaders.ShadedMaterial;
import org.papervision3d.materials.shaders.Shader;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.view.BasicView;
[SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")];
public class CubeWithDifferentSides extends BasicView {
private var light:PointLight3D;
private var cube:Cube;
//loading class
public var loader : BulkLoader = new BulkLoader("main-site");
public function CubeWithDifferentSides() {
// Load images data
loadImagesData();
}
private function loadImagesData():void {
//var loader : BulkLoader = new BulkLoader("main-site");
loader.add("images/back.jpg", {id:"back"});
loader.add("images/bottom.jpg", {id:"bottom"});
loader.add("images/front.jpg", {id:"front"});
loader.add("images/left.jpg", {id:"left"});
loader.add("images/right.jpg", {id:"right"});
loader.add("images/top.jpg", {id:"top"});
loader.addEventListener(BulkLoader.COMPLETE, onAllLoaded);
loader.start();
}
public function onAllLoaded(evt:Event ):void {
var materialsList:MaterialsList = new MaterialsList();
light = new PointLight3D();
materialsList.addMaterial(createShadedMaterial(loader.getBitmap("back")), "back");
materialsList.addMaterial(createShadedMaterial(loader.getBitmap("bottom")), "bottom");
materialsList.addMaterial(createShadedMaterial(loader.getBitmap("front")), "front");
materialsList.addMaterial(createShadedMaterial(loader.getBitmap("left")), "left");
materialsList.addMaterial(createShadedMaterial(loader.getBitmap("right")),"right");
materialsList.addMaterial(createShadedMaterial(loader.getBitmap("top")), "top");
cube = new Cube(materialsList, 500, 500, 500, 5, 5, 5);
scene.addChild(cube);
startRendering();
}
private function createShadedMaterial(bitmap:Bitmap):ShadedMaterial {
trace(bitmap)
var bitmapMaterial:BitmapMaterial = new BitmapMaterial(bitmap.bitmapData, true);
var shader:Shader = new PhongShader(light, 0xffffff, 0x333333, 10, bitmap.bitmapData, bitmap.bitmapData);
var shadedMaterial:ShadedMaterial = new ShadedMaterial(bitmapMaterial, shader);
return shadedMaterial;
}
override protected function onRenderTick(event:Event=null):void {
cube.rotationY += (viewport.containerSprite.mouseX - cube.rotationY) * .1;
cube.rotationX += (viewport.containerSprite.mouseY - cube.rotationX) * .1;
renderer.renderScene(scene, camera, viewport);
}
}
}
相关推荐
总的来说,BulkLoader 是一个强大且灵活的批量下载工具,它的设计和实现考虑到了实际使用中的各种场景,提供了丰富的功能和良好的可扩展性,对于需要处理大量文件下载的开发者来说,是一个值得信赖的助手。...
【bulkloader】是一款开源的Flash ActionScript库,主要用于批量加载和管理网络资源,如图片、音频、XML等。在ActionScript 3.0时代,它为开发者提供了高效且灵活的解决方案,尤其对于处理大量媒体文件的项目,可以...
BulkLoader文件加载类库是一个高效且实用的工具,主要用于大批量数据的导入和导出操作。在IT领域,尤其是在数据库管理和大数据处理中,快速、批量地处理数据是至关重要的。BulkLoader类库就是为了满足这样的需求而...
4. **读取加载类中的类**:如果加载的是SWF文件,BulkLoader可能还支持从中提取和实例化定义的AS3类,这对于动态加载组件或代码非常有用。 5. **资源管理**:有效管理内存,例如在文件加载完成后释放不再需要的资源...
这时,BulkLoader类就派上用场了。BulkLoader是AS3中的一个第三方库,专门用于管理批量资源的加载,从而提高性能和用户体验。 BulkLoader的用法主要包括以下几个关键步骤: 1. **导入库**:首先,你需要将...
综上所述,"关于BulkLoader总字节显示的问题"涉及到的数据处理、编码、格式和工具本身等多个层面。解决这个问题需要综合运用编程技能、数据处理知识和软件调试能力。通过对问题的深入理解和分析,通常能够找到合适的...
BulkLoader是用Actionscript 3(AS3)编写的最小库,旨在使加载和管理复杂的加载需求更加轻松快捷。 BulkLoader采用了一种更加动态,更少架构的方法。 很少导入,并且大量使用了AS3的动态功能,BulkLoader具有一种...
为了使用BulkLoader,开发者需要了解AS3的基础知识,如类、事件、URLLoader和ByteArray对象的使用。同时,要实现精确的进度跟踪,还需要理解如何在AS3中处理文件大小信息,并结合BulkLoader的API来定制自己的解决...
如果选择.tar.gz文件分发,只需将其解压缩到$ HOME目录之类的目录中,然后将bin子目录添加到PATH环境变量中即可。 例如: export PATH="$PATH:$HOME/voltdb-ent-5.3/bin" 您可以选择将其添加到您的.bashrc文件中...
在描述中提到的项目需求中,由于数据量超过一万行,普通的插入方式可能导致失败或效率低下,`MySqlBulkLoader`就是为了解决这类问题而设计的。 `MySqlBulkLoader`的主要功能包括: 1. **批量读取和写入**:它可以...
通常,这一步是在TUXEDO环境下完成的,开发者需要使用TUXEDO提供的工具和技术来进行服务的设计和实现。 ##### 3. 使用BulkLoader工具装载BEA TUXEDO应用服务到Jolt Repository Database 这一步骤涉及到将已创建的...
此示例中的代码取自 Cassandra 2.0.11,但具有对该项目中输出格式和记录编写器副本的。 笔记 示例数据和 schema.cql 位于 src/main/resources/data 下 用法 将 datastax cassandra 连接器用于 spark spark-submit...
为了提高用户体验,可以使用`loadQueue`类或`BulkLoader`库来批量加载资源,这样可以更有效地管理多个加载任务,避免阻塞UI线程。 7. **安全与错误处理** 加载资源时,需要考虑安全策略,如跨域加载和本地文件...
file -Dfile=dse-4.5.0.jar -DgroupId=com.datastax -DartifactId=dse -Dversion=4.5.0 -Dpackaging=jar运行演示要运行此代码,您需要在“src/main/resources”目录中拥有集群“cassandra.yaml”、dse.yaml 和“log4...
此外,为了提高性能,可以考虑使用`LoaderMax`库或`BulkLoader`类,它们提供了更高级的批量加载和队列管理功能。 总的来说,"flash 图片依次加载"是一个基础但实用的技巧,它涉及到ActionScript的基本用法,如事件...
在ActionScript中,我们可以使用`Loader`类来加载图片。以下是一个简单的示例: ```actionscript import flash.display.Loader; import flash.events.Event; var loader:Loader = new Loader(); loader....
1. 自动化作业执行:Oracle 12c引入了自动化的作业调度功能,例如文件监视器(file watcher)和批量加载监视器(bulkloader watcher)。当特定文件到达本地文件系统时,可以创建作业来自动执行。这有助于提高数据库操作...
导入模板和常规代码(真实的服务器软件) bulkloader.py --restore --url=http://localhost:12380/remote_api --filename=online-src/amor-code.db 等待4分钟,然后停止Development App Server并重新启动
appfy.recipe.gae:工具: 在 buildout 目录中安装一个 python 可执行文件和几个 SDK 脚本:appcfg、bulkload_client、bulkloader、dev_appserver 和 remote_api_shell。 它还允许设置默认值来启动 dev_appserver。 ...
要从 Data Store 以 CSV remote_api下载条目,需启用remote_api并包含一个bulkloader.yaml 。 appcfg.py download_data --url=...