- 浏览: 1062232 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (695)
- 心情日记 (14)
- AS开发工具 (12)
- 文章转载 (99)
- AIR (5)
- 问题总结 (46)
- SWF格式 (7)
- 测试总结 (10)
- 外文资料 (9)
- 算法技术 (33)
- AS3常用开源库 (43)
- 源码范例 (102)
- FLEX (72)
- FLASH 优化 (33)
- 游戏开发 (49)
- 开发技术 (11)
- 工作应用 (34)
- AS3收集 (140)
- WebBase (0)
- 开发构想 (4)
- 设计模式 (2)
- 框架和框架范例 (19)
- RED5 (3)
- java开发 (3)
- JAVA (1)
- FLASH-3D (23)
- 3D (6)
- 书籍 (10)
- 业界信息资料 (3)
- C# (1)
- JavaScript (12)
- HTML5 (6)
- Flixel (1)
- D5Power RPG网页游戏引擎 (0)
- ColorMatrixFilter - 获得相应颜色的色调 函数 (0)
- Starling (0)
最新评论
-
老顽童203:
字体
水果忍者鼠标跟随特效制作[转载] -
hairball00:
[转] 放出超多的Flash组件源代码 -
he74552775:
flash AS3 RegExp简单功能用法(转) -
hanshuai1232000:
第四点,有利也有弊,等你做了大型的aprg,你就知道了
[转]位图数据内存优化 -
yangfantao:
太感谢
[转] 放出超多的Flash组件源代码
第一话:加载Base64 encoded string
通过加载Base64 string创建图片。没错,就像你看到的,加载一个字符串也可以生成图片,当然不是说图片url是字符串(废话!),图片数据就在字符串中。
问题的关键是需要这么一个类Base64,它的converToByteArray方法可以把字符串转化为ByteArray,有了ByteArray数据,我们就可以生成图片了。
代码如下:
//http://www.motobit.com/util/base64-decoder-encoder.asp
//你可以在线把一张小图片转为base64 string,把字符串粘贴到这里赋值给变量str
//过些天做个有输入框的实例,可以把你得到的字符串粘到里面,生成图片
var str:String = "";
var byteArr:ByteArray = Base64.converToByteArray(str);
var loaderoader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded);
loader.loadBytes(byteArr);
function onImageLoaded(e:Event):void{
addChild(loader);
trace(loader.width + " : " + loader.height);
}
第二话:简单渐进式加载图片类ByteLoader
上面只是为了给大家开开眼界,不表。你可能会说“我的目的很简单,我只是要加载一张图片,用渐进的方式边加载边显示,我可不知道哪里有一串字符串让我去加载。”
嗯,来看看这个类吧,ByteLoader继承Loader类,使用方法跟Loader类一样简单。
原理是:
用URLStream类去加载图片数据流,
然后用帧循环stream.readBytes(data, data.length)将数据读入ByteArray中;
同时在帧循环中卸载Loader中旧的数据,加载新的数据super.unload();super.loadBytes(data);
代码如下:
通过加载Base64 string创建图片。没错,就像你看到的,加载一个字符串也可以生成图片,当然不是说图片url是字符串(废话!),图片数据就在字符串中。
问题的关键是需要这么一个类Base64,它的converToByteArray方法可以把字符串转化为ByteArray,有了ByteArray数据,我们就可以生成图片了。
代码如下:
//http://www.motobit.com/util/base64-decoder-encoder.asp
//你可以在线把一张小图片转为base64 string,把字符串粘贴到这里赋值给变量str
//过些天做个有输入框的实例,可以把你得到的字符串粘到里面,生成图片
var str:String = "";
var byteArr:ByteArray = Base64.converToByteArray(str);
var loaderoader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded);
loader.loadBytes(byteArr);
function onImageLoaded(e:Event):void{
addChild(loader);
trace(loader.width + " : " + loader.height);
}
第二话:简单渐进式加载图片类ByteLoader
上面只是为了给大家开开眼界,不表。你可能会说“我的目的很简单,我只是要加载一张图片,用渐进的方式边加载边显示,我可不知道哪里有一串字符串让我去加载。”
嗯,来看看这个类吧,ByteLoader继承Loader类,使用方法跟Loader类一样简单。
原理是:
用URLStream类去加载图片数据流,
然后用帧循环stream.readBytes(data, data.length)将数据读入ByteArray中;
同时在帧循环中卸载Loader中旧的数据,加载新的数据super.unload();super.loadBytes(data);
代码如下:
package { import flash.events.EventDispatcher; import flash.events.ProgressEvent; import flash.events.Event; import flash.utils.ByteArray; import flash.net.URLStream; import flash.net.URLRequest; import flash.display.Loader; public class ByteLoader extends Loader{ public var url:String; public var data:ByteArray; private var stream:URLStream; public function ByteLoader(url:String = ""){ if(url != ""){ loadUrl(url); } } //加载 public function loadUrl(_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); addEventListener(Event.ENTER_FRAME,loaddata); } private function loaddata(e:Event):void{ if (stream.bytesAvailable > 0){ stream.readBytes(data, data.length); } if (data.length > 0){ super.unload(); super.loadBytes(data); } } //加载中 private function progressFun(erogressEvent):void{ if(stream.bytesAvailable == 0) return; dispatchEvent(e); trace(e.bytesLoaded); } //加载完成 private function completeFun(e:Event):void{ stream.removeEventListener(Event.COMPLETE,completeFun); stream.removeEventListener(ProgressEvent.PROGRESS,progressFun); dispatchEvent(e); this.closeStream(); } //清除数据 public function closeStream():void{ if (stream){ if (stream.connected) stream.close(); } if (hasEventListener(Event.ENTER_FRAME)){ removeEventListener(Event.ENTER_FRAME, loaddata); } } } }
发表评论
-
greenSock新老库
2012-08-07 13:25 0老库-做项目的时候比新库完全不抖啊 -
Starling开发的游戏源码
2012-07-26 17:13 0Starling开发的游戏源码 -
一个基于STARLING的TOWER塔防游戏
2012-07-24 15:27 0一个基于STARLING的TOWER塔防游戏 -
HttpStatusConfig --一个HTTP 协议返回的 解析说明类
2012-04-18 16:40 0package guwanyuan.qicool.game ... -
HTTP/1.1协议规范(中文归纳版)
2012-04-18 16:39 2013一、介绍(introduction) ... -
[转] [Flash/Flex] 加载SWF性能VS影片剪辑性能
2012-03-15 22:29 0http://bbs.9ria.com/viewthread. ... -
关于富士通windows 7家庭普通板升级为windows 7旗舰版
2012-03-05 14:51 1952windows7普通家庭版不能一下升级到windows7旗舰版 ... -
水果忍者鼠标跟随特效制作[转载]
2012-03-01 16:06 2397实现这效果其实比较简单,主要是思路~! package ... -
请问如何才能让加载到一半的SWF不自动播放
2012-02-29 03:06 1476我用loader加载l=new Loader(); ... -
greensock-as3
2012-02-23 21:26 0greensock-as3 -
禁止输入文本可以粘贴
2012-02-10 13:15 2259//禁止输入文本粘贴动作 private static ... -
江湖情缘游戏里的跳的类
2012-02-08 23:55 0package com.app.role.montions ... -
ColorMatrixFilter - 获得相应颜色的色调 函数
2012-02-08 23:03 0/**获得相应颜色的色调的滤镜**/ public sta ... -
[教程] 路点导航(Waypoint Navigation)
2011-12-31 00:51 0前言:这个不难,所以知道的童鞋不要喷,不知道的童鞋也不要怕,要 ... -
ARPG游戏引擎设计思路
2011-12-31 00:48 00.整体结构 下载 (32.92 KB ... -
Embed绑定XML与txt文本文件
2011-12-28 15:54 4603使用Embed标签可以将图片绑定到swf中并显示,那么我 ... -
Flash_Rich_Text_Editor(完美的富文本编辑器)
2011-12-27 17:55 0Flash_Rich_Text_Editor(完美的富文 ... -
弹弹堂测试
2011-12-08 04:21 0弹弹堂测试弹弹堂测试 -
一些DEMO
2011-11-28 17:42 0一些DEMO一些DEMO -
Matrix学习
2011-11-28 16:51 0Matrix学习
相关推荐
利用MTS815.03电液伺服岩石试验系统,对运河煤矿煤岩试件在重复加载作用下的特性进行研究。研究结果表明,在重复加载作用下,煤岩强度极限较常规单轴压缩强度极限降低约23.65%;二次加载时弹性模量较初次加载时弹性模量...
4.知道了static的作用,那么X类被加载,那么就会先执行X类的静态属性和静态语句块(static),执行先后顺序看谁在前面就先执行谁。只在此时执行,以后都不会。 5.所以一个输出结果为tttt,没问题了吧。 6.X类的...
二、加载方法 ---- VB6.0中对Controls 集合进行了扩展,以前版本中Controls 集合在窗体上列 举出已加载的控件,这在迭代过程中是很有用的。Controls 集合标识一个叫做 Controls的内在窗体级变量。如果忽略可选的 ...
两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。 懒加载的意义及实现方式有: 意义: 懒加载的主要目的是...
土石混合体是一种非连续、非均质的混合多相介质材料,在轴向荷载作用下,由于内部变形的不均匀性,其变形破坏受围压加载方式影响显著。考虑刚性和柔性两种围压加载方式,采用颗粒流程序(PFC2D)开展了不同含石量和...
}配置属性方法参数作用setGifR.drawable.*加载页面的Gif图setBackgroundColorR.color.*加载页面整体背景颜色setBtnNormalColorR.color.*加载页面按钮未按下时的颜色setBtnPressedColorR.color.*加载页面按钮按下时的...
两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。 服务器端区别:懒加载的主要目的是作为服务器前端的优化,...
利用RFPA2D对5种尺寸的岩石试件进行点荷载加载数值模拟,从声发射及受载端应力方面分析了点荷载作用下影响岩样试验的有关问题,结果表明:岩样试件在点荷载的作用下,其端部压应力效应对高径比为1∶1~1∶2之间的岩体试验...
二、为什么有 前端发展到了单页面富应用(SPA)阶段(整个网站只有一个html+css+js) 当打包构建应用时,js包会变得特别大,影响页面加载 可以把不同路由对应的组件分割成不同代码块,当路由被访问时才加载对应组件 三、...
1)、对于首屏内容中的图片:首先给对应的区域一张默认图片占的位置(默认图需要非常的小,一般可以维持在5kb以内),当首屏内容都加载完成后(或者也可以给一个延迟的时间),我在开始加载真实的图片 2)、对于...
利用面荷载的大小和作用方向2个表征量表示作用于模型外表面的力,利用ANSYS的SFGRAD命令定义面荷载大小随位置线性变化的荷载情况,基于ANSYS的参数数组和嵌入函数定义面荷载大小随位置非线性变化的荷载情况,以覆盖于所...
老实说,我花了大约2天的时间来创建此mod,因为缺乏了解Java语言的知识,从头开始,但最终我使它起作用了! 为我万岁! 设置 有关设置说明,请参阅与您所使用的IDE相关的。 执照 该项目是根据MIT许可授权的 我可能...
您可能感兴趣的文章:值得分享的IIS部署网站详细步骤在IIS上部署ASP.NET Core项目的图文方法有了SSL证书,如何在IIS环境下部署httpswin2008 IIS7无后缀URL部署问题 MVC4 MVC URL映射windows2003 IIS6 部署MVC3和MVC4...
当你的Management Studio 打开提示无法加载包“Micrsoft Management Studio Package”时,那么这款软件将起到一定的帮助作用!
(2)在动力扰动作用下,煤体内部损伤不断加剧,煤体弹性能储能极限以[]13.71ln 36.33eU (28)-D (10)的趋势不断降低,冲击破坏损耗能不断减少,原本积聚在煤体内的弹性能会瞬间释放,导致煤体冲击破坏。(3)提出了增加煤柱的...
2)建立复杂的模块依赖图 在脚本模块之间建立任意依赖关系图,能够过滤每个模块的导入和导出包。 模块通过类加载器相互隔离。 3) 提供有用的管理和持久化特性 从可插拔存储库实现中保留和获取脚本模块,包括基于文件...
使用mod_concatx, 可以合并多个文件在一个http响应报文中,可以有效提高js/css的加载速度。 示例效果如下: mod_concatx模块是在mod_concat基础上修改的,感谢他们的工作。 原有的mod_concat模块有很大的参考价值,...
阿里巴巴面试题总结 ...2. java有多少个类加载器?分别的作用是什么?一个Class文件是怎么被加载 到JVM里的,描述一下加载流程。 答:java有三个类加载器,分别为:根类加载器,扩展类加载器,系统类加载 器。
Excel表格中基于数据比较的加载宏程序,实现自动在工具栏添加按钮,可以选择工作簿中任一工作表中的列进行比较,将不同部分自动写入新的工作表中。有面向对象的窗体操作界面。 宏的作用就是对excel进行操作,尤其是...
2. SUB R1, R1, R2: R1 = R1 – R2 3. MOV R1, R2: R1 = R2 4. AND R1, R2, R3: R1 = R2 & R3 (按位与) 5. ORR R1, R2, R3: R1 = R2 | R3 (按位或) 6. EOR R1, R2, R3: R1 = R2 ^ R3 (按位异或) 7. CMP R1, R2: 比较...