AS3加载图片的两种方法

1package net.burchin.loading { 2 import flash.display.Sprite; 3 import flash.display.Bitmap; 4 import flash.display.BitmapData; 5 import flash.display.Loader; 6 import flash.display.LoaderInfo; 7 import flash.text.TextField; 8 import flash.net.URLRequest; 9 import flash.events.Event; 10 import flash.events.ProgressEvent; 11 import flash.geom.Matrix; 12 public class LoadingDoc extends Sprite { 13 private var _imageData:BitmapData; //图片 14 private var _loader:Loader; //装载 15 private var _rate:TextField; //进度显示 16 public function LoadingDoc() { 17 init(); 18 _rate.text = '开始下载'; 19 _rate.autoSize = 'center'; 20 _rate.textColor = 0x000000; 21 _rate.x = (stage.stageWidth - _rate.width)/2; 22 _rate.y = (stage.stageHeight - _rate.height)/2; 23 this.addChild(_rate); 24 sendRequest('images/flower.jpg'); 25 } 26 //初始化 27 private function init() { 28 _imageData = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0xFFFFFFFF); 29 _loader = new Loader(); 30 _rate = new TextField(); 31 } 32 //发送请求 33 private function sendRequest(p_url:String) { 34 var m_request = new URLRequest(p_url); 35 _loader.load(m_request); 36 _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); 37 _loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); 38 } 39 //事件,下载完毕 40 private function onComplete(e:Event) { 41 _imageData.draw(_loader, new Matrix(stage.stageWidth/_loader.width, 0, 0, stage.stageHeight/_loader.height, 0, 0)); 42 var m_image:Bitmap = new Bitmap(_imageData); 43 this.removeChild(_rate); 44 this.addChild(m_image); 45 } 46 //事件,下载中 47 private function onProgress(e:Event) { 48 var m_info:LoaderInfo = e.target as LoaderInfo; 49 var m_percent:uint = (m_info.bytesLoaded/m_info.bytesTotal)*100; 50 _rate.text = '已经下载'+m_percent.toString()+'%'; 51 } 52 } 53}

另一种方法:

package net.burchin.loading {    import flash.display.Sprite;    import flash.display.BitmapData;    import flash.display.Bitmap;    import flash.display.Loader;    import flash.net.URLRequest;    import flash.net.URLLoader;    import flash.net.URLLoaderDataFormat;    import flash.utils.ByteArray;    import flash.events.Event;    import flash.geom.Matrix;    public class LoadingByByteArrayDoc extends Sprite {        private var _imageData:BitmapData;    //图片数据        private var _loader:Loader;    //装载        public function LoadingByByteArrayDoc():void {            init();            sendRequest('images/flower.jpg');        }        //初始化        private function init():void {            _imageData = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0xFFFFFFFF);            _loader = new Loader();        }        //发送请求        private function sendRequest(p_url:String):void {            var m_request:URLRequest = new URLRequest(p_url);            var m_loader:URLLoader = new URLLoader();            m_loader.dataFormat = URLLoaderDataFormat.BINARY;            m_loader.addEventListener(Event.COMPLETE, onSendComplete);            m_loader.load(m_request);        }        //事件,请求发送完毕        private function onSendComplete(e:Event):void {            var m_content:ByteArray = e.target.data as ByteArray;            _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);            _loader.loadBytes(m_content);        }        //事件,装载完毕        private function onLoadComplete(e:Event):void {            _imageData.draw(_loader, new Matrix(stage.stageWidth/_loader.width, 0, 0, stage.stageHeight/_loader.height, 0, 0));            var m_image:Bitmap = new Bitmap(_imageData);            this.addChild(m_image);        }    }}
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )