`
hereson
  • 浏览: 1454147 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

BulkLoader类和PV3D

    博客分类:
  • flex
阅读更多

AS3取消了movieclip的loader类,所以加载图片除了用

img = new 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>

package {
 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, 500500500555);
   scene.addChild(cube);
   startRendering();
  }
  private function createShadedMaterial(bitmap:Bitmap):ShadedMaterial {
   trace(bitmap)
   var bitmapMaterial:BitmapMaterial = new BitmapMaterial(bitmap.bitmapDatatrue);
   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);
  }
 }
}

Leave a Reply

分享到:
评论

相关推荐

    BulkLoader

    总的来说,BulkLoader 是一个强大且灵活的批量下载工具,它的设计和实现考虑到了实际使用中的各种场景,提供了丰富的功能和良好的可扩展性,对于需要处理大量文件下载的开发者来说,是一个值得信赖的助手。...

    bulkloader

    【bulkloader】是一款开源的Flash ActionScript库,主要用于批量加载和管理网络资源,如图片、音频、XML等。在ActionScript 3.0时代,它为开发者提供了高效且灵活的解决方案,尤其对于处理大量媒体文件的项目,可以...

    BulkLoader文件加载类库

    BulkLoader文件加载类库是一个高效且实用的工具,主要用于大批量数据的导入和导出操作。在IT领域,尤其是在数据库管理和大数据处理中,快速、批量地处理数据是至关重要的。BulkLoader类库就是为了满足这样的需求而...

    bulkloader下载类

    4. **读取加载类中的类**:如果加载的是SWF文件,BulkLoader可能还支持从中提取和实例化定义的AS3类,这对于动态加载组件或代码非常有用。 5. **资源管理**:有效管理内存,例如在文件加载完成后释放不再需要的资源...

    flash actionscript3 as3 BulkLoader多资源加载队列的用法.ziploading加载队列bulk_loader

    这时,BulkLoader类就派上用场了。BulkLoader是AS3中的一个第三方库,专门用于管理批量资源的加载,从而提高性能和用户体验。 BulkLoader的用法主要包括以下几个关键步骤: 1. **导入库**:首先,你需要将...

    关于BulkLoader总字节显示的问题

    综上所述,"关于BulkLoader总字节显示的问题"涉及到的数据处理、编码、格式和工具本身等多个层面。解决这个问题需要综合运用编程技能、数据处理知识和软件调试能力。通过对问题的深入理解和分析,通常能够找到合适的...

    BulkLoader:ActionScript的批量加载库

    BulkLoader是用Actionscript 3(AS3)编写的最小库,旨在使加载和管理复杂的加载需求更加轻松快捷。 BulkLoader采用了一种更加动态,更少架构的方法。 很少导入,并且大量使用了AS3的动态功能,BulkLoader具有一种...

    as3批量下载组件

    为了使用BulkLoader,开发者需要了解AS3的基础知识,如类、事件、URLLoader和ByteArray对象的使用。同时,要实现精确的进度跟踪,还需要理解如何在AS3中处理文件大小信息,并结合BulkLoader的API来定制自己的解决...

    app-bulkloader-example:未完成

    如果选择.tar.gz文件分发,只需将其解压缩到$ HOME目录之类的目录中,然后将bin子目录添加到PATH环境变量中即可。 例如: export PATH="$PATH:$HOME/voltdb-ent-5.3/bin" 您可以选择将其添加到您的.bashrc文件中...

    MySqlBulkLoaderDemo-master yunyun123.zip

    在描述中提到的项目需求中,由于数据量超过一万行,普通的插入方式可能导致失败或效率低下,`MySqlBulkLoader`就是为了解决这类问题而设计的。 `MySqlBulkLoader`的主要功能包括: 1. **批量读取和写入**:它可以...

    TUXEDO JOLT的配置与编程简介

    通常,这一步是在TUXEDO环境下完成的,开发者需要使用TUXEDO提供的工具和技术来进行服务的设计和实现。 ##### 3. 使用BulkLoader工具装载BEA TUXEDO应用服务到Jolt Repository Database 这一步骤涉及到将已创建的...

    spark-cassandra-bulkloader:使用 spark 将数据上传到 cassandra 的测试应用程序

    此示例中的代码取自 Cassandra 2.0.11,但具有对该项目中输出格式和记录编写器副本的。 笔记 示例数据和 schema.cql 位于 src/main/resources/data 下 用法 将 datastax cassandra 连接器用于 spark spark-submit...

    flash actionscript3 纯AS3代码_资源加载进度条.rar

    为了提高用户体验,可以使用`loadQueue`类或`BulkLoader`库来批量加载资源,这样可以更有效地管理多个加载任务,避免阻塞UI线程。 7. **安全与错误处理** 加载资源时,需要考虑安全策略,如跨域加载和本地文件...

    datastax-bulkloader-dse-example:此演示创建 sstable 文件并通过 jmx 将它们加载到 dse 集群

    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...

    flash 图片依次加载

    此外,为了提高性能,可以考虑使用`LoaderMax`库或`BulkLoader`类,它们提供了更高级的批量加载和队列管理功能。 总的来说,"flash 图片依次加载"是一个基础但实用的技巧,它涉及到ActionScript的基本用法,如事件...

    图片Flash显示代码

    在ActionScript中,我们可以使用`Loader`类来加载图片。以下是一个简单的示例: ```actionscript import flash.display.Loader; import flash.events.Event; var loader:Loader = new Loader(); loader....

    ocp12c-062 362q.pdf

    1. 自动化作业执行:Oracle 12c引入了自动化的作业调度功能,例如文件监视器(file watcher)和批量加载监视器(bulkloader watcher)。当特定文件到达本地文件系统时,可以创建作业来自动执行。这有助于提高数据库操作...

    amor:临时Maven对象存储库-此处使用七巧板素材完成的简约工件服务

    导入模板和常规代码(真实的服务器软件) bulkloader.py --restore --url=http://localhost:12380/remote_api --filename=online-src/amor-code.db 等待4分钟,然后停止Development App Server并重新启动

    appfy.recipe.gae:App Engine 开发的构建方法

    appfy.recipe.gae:工具: 在 buildout 目录中安装一个 python 可执行文件和几个 SDK 脚本:appcfg、bulkload_client、bulkloader、dev_appserver 和 remote_api_shell。 它还允许设置默认值来启动 dev_appserver。 ...

    gaeusers:App Engine 中应用程序的简单用户管理

    要从 Data Store 以 CSV remote_api下载条目,需启用remote_api并包含一个bulkloader.yaml 。 appcfg.py download_data --url=...

Global site tag (gtag.js) - Google Analytics