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

转——ActionScript 3.0 自写类整理笔记(三)——

    博客分类:
  • Flex
阅读更多
ByteLoader类

原文章出至http://www.xiaos8.com/article.asp?id=89


该类的主要功能是把swf,jpg,png,gif等文件以字节的形式加载进来
以便于使用Loader.loadBytes方法,重复加载使用素材
如果图片格式为jpg,并且是渐进式格式jpeg,那么该类还可以帮助你边加载边显示

index.base.net.byteLoader类讲解:
基本功能按字节加载图片,swf等

构造函数
public function ByteLoader(url:String = "")
如果传入了参数url,则立即执行加载!

load  加载方法
public function load(_url:String):void
开始加载,_url是加载的地址

updata  更新数据方法
public function updata():void
更新缓冲区的可读字节

close  关闭方法
public function close():void
类使用完毕,清除所有无用的数据,也可以用来强行关闭数据流,停止下载

data  属性
public var data:ByteArray
返回加载的字节

url  属性
public var url:String
返回加载的url

isLoad  属性(只读)
public function get isLoad():Boolean
返回是否有数据在加载

ProgressEvent.PROGRESS  事件
加载的过程中调度,并附带加载情况

Event.COMPLETE  事件
加载完毕调度

代码:import index.base.net.ByteLoader;

var bl:ByteLoader = new ByteLoader;
bl.load("http://www.xiaos8.com/uploads/pro/50preso3a2.swf");
bl.addEventListener(Event.COMPLETE,completeFun);
bl.addEventListener(ProgressEvent.PROGRESS,progressFun);

function completeFun(e:Event):void{
       var loaderoader = new Loader;
       loader.loadBytes(bl.data);
       addChild(loader);
       bl.removeEventListener(Event.COMPLETE,completeFun);
       bl.removeEventListener(ProgressEvent.PROGRESS,progressFun);
       bl.close();
       bl = null;
}

function progressFun(erogressEvent):void{
       trace(e.bytesLoaded);
       //如果是渐进式格式的jpeg图片,那么在发布这个事件的时候读取字节,用Loader.loadBytes加载,就可以形成边加载边显示
}代码:package index.base.net{
      
       importflash.events.EventDispatcher;
       import flash.events.ProgressEvent;
       import flash.events.Event;
       import flash.utils.ByteArray;
       import flash.net.URLStream;
       import flash.net.URLRequest;
      
       public class ByteLoader extends EventDispatcher{
             
               public var url:String;
               public var data:ByteArray;
               private var stream:URLStream;
             
               public function ByteLoader(url:String = ""){
                       if(url != ""){
                               load(url);
                       }
               }
             
               //加载
               public function load(_url:String):void{
                       url = _url;
                       data = new ByteArray;
                       stream = new URLStream;
                       stream.load(new URLRequest(url));
                       stream.addEventListener(Event.COMPLETE,completeFun);
                       stream.addEventListener(ProgressEvent.PROGRESS,progressFun);
               }
             
               //加载中
               private function progressFun(erogressEvent):void{
                       if(stream.bytesAvailable == 0) return;
                       updata();
                       dispatchEvent(e);
               }
             
               //加载完成
               private function completeFun(e:Event):void{
                       stream.removeEventListener(Event.COMPLETE,completeFun);
                       stream.removeEventListener(ProgressEvent.PROGRESS,progressFun);
                       updata();
                       if(isLoad) stream.close();
                       dispatchEvent(e);
               }
             
               //更新数据
               public function updata():void{
                       if(isLoad) stream.readBytes(data,data.length);
               }
             
               //清除数据
               public function close():void{
                       if(isLoad) stream.close();
                       stream = null;
                       data = null;
               }
             
               //获取是否有数据在加载
               public function get isLoad():Boolean{
                       if(stream == null) return false;
                       return stream.connected;
               }
       }
}
分享到:
评论

相关推荐

    精通Flex 3.0——基于ActionScript 3.0实现_源代码

    《精通Flex 3.0——基于ActionScript 3.0实现》一书源代码。 Flex 3.0 ActionScript 3.0源代码 Flex 3.0源代码。 --------------------------- 第1篇 Flex技术概述 第1章 Flex概述 3 1.1 Flex简介 3 1.2 Flex...

    Flash CS5从新手到高手视频教程下载第15章 快速创建动画——ActionScript 3.0 实用组件.zip

    1. ActionScript 3.0概述:相较于之前的版本,ActionScript 3.0引入了更多面向对象的编程特性,如类、包和接口,提高了代码的组织性和效率。它还带来了更严格的类型检查和运行时错误处理,使得程序更加稳定。 2. ...

    ActionScript 3.0 API文档(CHM+HTML最新中文完整)

    《ActionScript 3.0 语言和组件参考》概述 《ActionScript 3.0 语言参考》是 Flash® Player 和 Adobe AIR™ 应用程序编程接口 (API) 的参考手册。 此版本包括支持 Adobe AIR 运行时环境的新 ActionScript 类、...

    Flash ActionScript 3.0 编程技术教程(附书光盘)

    第6~9章介绍了ActionScript 3.0的核心——类及以类为基础的面向对象程序设计方法,包括类的基本概念、ActionScript 3.0中常用类的使用、显示编程和组件类;第10、11章分别介绍了几个ActionScript 3.0实际应用的范例...

    ActionScript 3.0开发技术大全(第一部分)

    第1篇 ActionScript3.0语言基础  第1章 ActionScript3.0概述  第2章 搭建ActionScript3.0开发环境  第3章 ActionScript3.0语法 第2篇 ActionScript3.0面向对象特性  第4章 ActionScript3.0面向对象编程  第...

    ActionScript3.0从零基础学习类

    在ActionScript3.0中,更加强调类和对象的使用,鼓励开发者摒弃在组件(如MC和BUTTON)上直接编写代码的习惯,转而使用面向对象的方法编写代码。 ### ActionScript3.0基础概念 1. **包(Package)**:包在...

    Flash ActionScript3.0教程示例(从入门到精通).rar

    《Flash ActionScript3.0教程示例(从入门到精通)》是一本全面解析ActionScript3.0编程语言在Flash平台上的应用的教程。ActionScript3.0是Adobe Flash Professional中的核心编程语言,用于创建交互式动画、游戏、富...

    Flash ActionScript 3.0编程技术教程(全)

    第6~9章介绍了ActionScript 3.0的核心——类及以类为基础的面向对象程序设计方法,包括类的基本概念、ActionScript 3.0中常用类的使用、显示编程和组件类;第10、11章分别介绍了几个ActionScript 3.0实际应用的范例...

    ActionScript3.0 Game Programing中文版

    《ActionScript3.0 Game Programming》是一本专为游戏开发者设计的权威教程,中文版的出版使得更多中国读者能够深入理解和掌握ActionScript3.0在游戏开发中的应用。这本书不仅覆盖了ActionScript的基础语法和面向...

    ActionScript3.0转盘中奖游戏

    ActionScript3.0是Adobe Flash开发中的编程语言,主要用于创建互动式内容,如网页游戏、动画和应用程序。在这个“ActionScript3.0转盘中奖游戏”项目中,我们可以深入探讨ActionScript3.0的关键技术和转盘游戏的实现...

    ActionScript 3.0 编程.rar

    在ActionScript 3.0中,最大的改变之一是引入了类和强类型系统。这意味着开发者必须预先声明变量的类型,这有助于提高代码的稳定性和可维护性。此外,AS3还引入了命名空间,以解决命名冲突问题,提高了代码组织的...

    actionscript 3.0动画制作教程

    4. **使用Timeline Control类**:ActionScript 3.0提供了`TimelineCtrl`类,用于控制时间轴的播放,如播放、暂停、停止、跳转到特定帧等。这些功能对于交互式动画至关重要。 5. **事件驱动编程**:AS3.0是事件驱动...

    ActionScript3.0完全自学手册电子教案_ActionScript3.0_

    ActionScript3.0是Adobe开发的一种面向对象的编程语言,主要用于创建富互联网应用程序(RIA),尤其是在Flash平台上。它是Flash Professional、Flash Builder等工具的核心组成部分,让开发者能够为网页、桌面和移动...

    ActionScript3.0宝典 pdf 高清晰

    文件“Wiley.ActionScript.3.0.Bible.Oct.2007.eBook-BBL.pdf”很可能是这本宝典的电子版,它可能涵盖了ActionScript的基础知识,如变量、操作符、控制结构,以及高级主题,如类、包、接口、错误处理和网络编程。...

    Foundation ActionScript 3.0 Animation

    《Foundation ActionScript 3.0 Animation》是一本...《foundation Actionscript3.0 Animation.pdf》这个文件很可能是这本书的电子版,包含完整的章节内容和可能的练习案例,对于自学或者参考来说是非常宝贵的资源。

    ActionScript3.0代码示例项目

    ActionScript3.0是Adobe开发的一种强大的编程语言,主要用于创建富互联网应用程序(RIA),尤其是在Flash平台上。这个"ActionScript3.0代码示例项目"是一个关于利用ActionScript3.0实现图片3D旋转的实践教程,它展示...

    actionscript3.0开发的进度显示条项目

    ActionScript3.0(简称AS3)是Adobe Flash平台的核心编程语言,用于创建交互式、动态的富媒体内容,如网页动画、游戏、应用程序等。本项目“actionscript3.0开发的进度显示条项目”显然是一个使用AS3实现的可视化...

Global site tag (gtag.js) - Google Analytics