• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 时代互联
  • 中国红网
  • 中资源!
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 美工设计 >> FLASH教程 >> 文章内容
 

精彩推荐

 
 

本类推荐文章

 
 

本类阅读排行

  • Flash入门教程:滚动字幕动画..
  • Flash AS 教程:多种图片切换..
  • Flash教程:单选题的制作
  • Flash教程:引导线制作爱心图..
  • SWFText轻松制作Flash贺卡
  • loading制作Loading预载动画..
  • Flash+XML写的个类似韩国菜单..
  • Flash AS教程:旋转立方体
  • Flash8实例教程:绘制中国风..
  • Flash中如何显示清晰的字体
  • Flash教程:用鼠标控制图片移..
  • 给Flash初学者的几点建议
  • Flash8模糊滤镜绘制逼真青翠..
  • Flash教程:花吃蝴蝶的动画演..
  • Flash教程:制作天空中流星划..
  • Flash CS3制作Fla形式的组件
  • Flash教程:制作文字波动视觉..
  • 全Flash动画网站的实现详细教..
  • 方便的Flash文字特效制作工具..
  • Flash中作毛笔写字动画效果
 
 

Flash AS3教程:ImageLoader类

  • 日期:2008-06-04     人气:     出处:     作者:
  • 字体大小:
  • 小
  • 中
  • 大

前面学习了Flash AS3教程:ClassLoader类和BitmapData的使用。

跟ClassLoader差不多,但是不同的是,他是读取图片的BitmapData,然后可以多次
new Bitamap(ImagesLoader.data)
进行图片调用

多次使用图片,直接用ByteLoader也可以,但是他加载进来的是字节,还要通过loadBytes
但是加载进来的,却是一张图片,无法重复使用
虽说要用就loadBytes一下,就是一张图片,但是实际起来还是比较麻烦
那么这个类,就是帮助你把这些步骤全部省下,直接把BitmapData拿出来
你只需要,用一个引用值接住他
var bd:BitmapData = ImageLoader.data;
然后每次使用这张图片的时候
new Bitamap(ImagesLoader.data)
就行了

该类的具体用法就不详讲了,前面加过的ClassLoader类,在这个类里面都有,而且两个类连代码都没改什么。。
就是少了getClass,hasClass,而多了data属性。相信应该不是很难看懂

示例:

CODE:

import index.base.net.ImageLoader;

var il:ImageLoader = new ImageLoader;

il.load("");

il.addEventListener(Event.COMPLETE,fun);

function fun(e:Event){
        addChild(new Bitmap(il.data));
        trace(il.loader)
        trace(il.url)
}
源代码:

CODE:

package index.base.net{
        
        import flash.display.Loader;
        import flash.display.BitmapData;
        import flash.net.URLRequest;
        import flash.utils.ByteArray;
        import flash.events.Event;
        import flash.events.ProgressEvent;
        import flash.events.EventDispatcher;
        import flash.system.LoaderContext;
        
        public class ImageLoader extends EventDispatcher{
               
                public var url:String;
                public var loader:Loader;
                public var data:BitmapData;
               
                //构造函数
                public function ImageLoader(obj:Object = null,lc:LoaderContext = null) {
                        if(obj != null){
                                if(obj is ByteArray){
                                        loadBytes(obj as ByteArray,lc);
                                }else if(obj is String){
                                        load(obj as String,lc);
                                }else{
                                        throw new Error("参数错误,构造函数第一参数只接受ByteArray或String");
                                }
                        }
                }
               
                //加载
                public function load(_url:String,lc:LoaderContext = null):void{
                        url = _url;
                        loader = new Loader;
                        loader.load(new URLRequest(url),lc);
                        addEvent();
                }
               
                //加载字节
                public function loadBytes(bytes:ByteArray,lc:LoaderContext = null):void{
                        loader = new Loader;
                        loader.loadBytes(bytes,lc);
                        addEvent();
                }
               
                //开始侦听
                private function addEvent():void{
                        loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressFun);
                        loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeFun);
                }
               
                //结束侦听
                private function delEvent():void{
                        loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,progressFun);
                        loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,completeFun);
                }
               
                //加载成功,发布成功事件
                private function completeFun(e:Event):void {
                        data = loader.content["bitmapData"];
                        delEvent();
                        dispatchEvent(e);
                }
               
                //加载过程
                private function progressFun(e:ProgressEvent):void{
                        dispatchEvent(e);
                }
               
                //清除
                public function clear():void{
                        loader.unload();
                        loader = null;
                        data = null;
                }
        }
}

相关文章
  • Flash AS3教程:疑难杂症汇总
  • Flash as3:绝对坐标与相对坐标
  • Flash AS3用于读取LRC同步歌词的类
  • Flash AS 教程:子类化显示对象
  • Flash AS 教程:交互动画
  • Flash AS 教程:动画事件
  • Flash AS 教程:帧循环
  • Flash AS 教程:创建文档类(Document class)
  • Flash游戏开发教程:第一节
  • 关于XML在FLASH中的应用
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号  

感谢:点击网络 联网科技 天盈信息  提供服务器及带宽赞助