Posts by wpm:
Flash 的 URLRequestHeader
最近看了一些关于Flash 的 URLRequestHeader的信息,才知道
1.Flash 的 URLRequestHeader的自定义头只能在POST方式下才能发送。
2.Flash 的 URLRequestHeader不准手动发送Referer头域信息。而且在FireFox下Flash使用GET方式读取服务器文件时,不发送引用页地址,
IE下能正确发送。
URLRequestHeader 对象封装了一个 HTTP 请求标头并由一个名称/值对组成。 URLRequestHeader 对象在 URLRequest 类的 requestHeaders 属性中使用。
在 Adobe® AIR 中,应用程序安全沙箱中的内容(如使用 AIR 应用程序安装的内容)可以使用任何请求标头而不会出错。不过,对于在 Adobe AIR 中运行的不同安全沙箱中的内容,使用以下请求标头将会引发运行时错误,且限制的术语不区分大小写(例如,Get、get 和 GET 均不得使用):
在应用程序安全沙箱以外的 Flash Player 和 Adobe AIR 内容中,不能使用以下请求标头,且限制的术语不区分大小写(例如,Get、get 和 GET 均不得使用)。另外,如果使用下划线字符,这也适用于带连字符的词(例如,不允许使用 Content-Length 和 Content_Length):
Accept-Charset、Accept-Encoding、Accept-Ranges、Age、Allow、Allowed、Authorization、Charge-To、Connect、Connection、Content-Length、Content-Location、Content-Range、Cookie、Date、Delete、ETag、Expect、Get、Head、Host、Keep-Alive、Last-Modified、Location、Max-Forwards、Options、Post、Proxy-Authenticate、Proxy-Authorization、Proxy-Connection、Public、Put、Range、Referer、Request-Range、Retry-After、Server、TE、Trace、Trailer、Transfer-Encoding、Upgrade、URI、User-Agent、Vary、Via、Warning、WWW-Authenticate 和 x-flash-version。
URLRequestHeader 对象的长度是受限制的。如果 URLRequestHeader 对象的累计长度(name 属性的长度加 value 属性的长度)或 URLRequest.requestHeaders 属性中使用的 URLRequestHeader 对象数组超过可接受的长度,则应用程序将引发异常。
除非为 URLRequest 类的 requestHeaders 属性中的 ACCEPT 标头指定设置,否则,在 Adobe AIR 中运行的内容会将 ACCEPT 标头设置为以下值:
text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, application/x-shockwave-flash, video/mp4;q=0.9, flv-application/octet-stream;q=0.8, video/x-flv;q=0.7, audio/mp4, */*;q=0.5
并非所有接受 URLRequest 参数的方法都支持 requestHeaders 属性,请参阅有关调用的方法的文档。例如,FileReference.upload() 和 FileReference.download() 方法不支持 URLRequest.requestHeaders 属性。
由于存在浏览器限制,因此仅对 POST 请求支持自定义 HTTP 请求标头,而对 GET 请求不提供相应支持。
多元件鼠标性能测试文档与源文件
前言 本文是寂寞火山在3月28号的上海Flash开发者交流会演讲的内容。 此文讲的东西非常棒,对于如何优化Flash程序有非常好的帮助,做为一名同是Flash程序员的我郑重推荐此文,如果你觉得这个测试报告对你有用,请支持寂寞火山奉献的这份报告,并且在转载时请写上版权: 作者:寂寞火山;整理:sunbright;原文地址。 ★测试环境: →硬件环境:Intel (R) Core (TM)2 Duo CPU T5850 @2.16GHz,2.00GB内存。 →软件环境:FLASH CS3,Adobe Flash Player 9.0 r45,AVM2。 →FLASH IDE环境:舞台尺寸:750×500像素,帧频:24 fps。 →测试报告源文件:点击进入火山门户相关帖 ★本文所用到的简称: →FP:FLASH PLAYER。 →MC:影片剪辑元件。 →BTN:按钮元件。 →G:图形元件。 ★鼠标事件性能测试: 测试分类 测试描述 测试结果 结果分析 1,同级多MC测试 在root下分别放置200,400,800个MC,MC中无其他元件,只有一个形状。鼠标在FP上快速移动,观察CPU占用情况。 200时:CPU稳定在5%左右; 400时:CPU稳定在10%左右; 800时:CPU稳定在20%左右。 当鼠标在FP上快速移动的时候,CPU的占用情况随MC的数量呈线性增长的趋势。 2,同级多BTN测试 在root下分别放置200,400,800个BTN,BTN中无其他元件,只有一个形状。鼠标在FP上快速移动,观察CPU占用情况。 200时:CPU稳定在30%左右; 400时:CPU稳定在50%左右; 800时:CPU稳定在70%左右。 当鼠标在FP上快速移动的时候,CPU占用情况随BTN的数量呈线性增长的趋势,但CPU基数比MC大,增长势头也比MC猛。 3,同级多G测试 在root下分别放置200,400,800个G,G中无其他元件,只有一个形状。鼠标在FP上快速移动,观察CPU占用情况。 CPU在三种情况下稳定在1%-2%。 G与鼠标事件无关系。 4,同级多SPRITE测试 在root下分别放置200, 400,800个SPRITE,SPRITE中无其他元件,只有一个形状。鼠标在FP上快速移动,观察CPU占用情况。 结果与MC基本一致。 5,多层嵌套MC测试 [...]
40个小巧的独立JavaScript库
简介 本文介绍了40个小巧的独立JavaScript库,包括表单、动画、数据库、图像处理、字体等,提供详细介绍和截图。 流行的JavaScript库,如jQuery, MooTools, Prototype, Dojo和YUI等,完成起常见的JavaScript任务来得心应手。这些JS库为客户端动作(events)、动画特效(effects),和AJAX应用等提供很多现成的函数。而且如果这些库中的某一个无法直接达到你要的效果,还可能会有相关插件满足你的要求。 JavaScript库的灵活性给我们的工作提供方便,但有利也有弊——比如说JavaScript文件过大的问题。尽管放弃这些著名的JavaScript库能显示你的聪明才智,但你可能还是会愿意采用一些体积小巧、专注于特定任务的JavaScript库。 以下是40个帮助你达到特定目的的独立JavaScript库。 网上能用的当然不只这些,但每位网页设计师和程序员应该都能在这里有所收获。
Flash性能监视器(翻译)
原文链接:http://www.insideria.com/2009/05/flash-performance-monitoring.html Flex Builder 3内置的性能监视器是很强大的,但是有时候你会需要直接检测网络上的性能情况。如果你仍然在开发并且同时需要调试,什么东西可以作为你的性能监视器呢?我长期都使用一种FPS监视器(不是在Flex Builder’s profiler中的)来作为我私人的Flash程序开发工具。最近我正在寻找一种能够通过显示FPS和内存来帮助我监视我已经开发好的程序的运行状态的东西。这时我找到了 Mr Doob开源的Hi-ReS! 里面的侦测类Stats。 Hi-ReS! Stats displays: FPS-Frames per second, and allows you to increment your application’s FPS by +1 (after each click) to test increasing performance at runtime.每秒帧数,允许(在每次单击后)对自己程序的FPS进行自增,以用来测试运行中增加的性能。 MS -The milliseconds needed to render a frame. 渲染一帧所需要的毫秒速。 MEM – The amount of memory being used.所用的的总内存。 MAX – The maximum [...]
在Flash中嵌入元数据标签
在Flash中嵌入元数据标签 出自ActionScript天地会宝典 这篇文章描述了在Adobe Flash CS4专业版中怎么利用[Embed]元数据标签来嵌入不同类型的媒体、数据和图片资源。文章提供了多个例子关于怎么链接和现实元数据信息,并讨论了在你的工程中加入元数据标签有用的多种原因。 元数据在Flash CS4以前的版本中是不支持的。这对于在Flex中写代码然后尝试在Flash中编译的人会产生一些问题。在Flash CS4中使用元数据标签的主要优势之一就是她简化了Flex-Flex的工作流程。 目录 [隐藏] 1 基本要求 2 储备知识 3 关于作者 4 在帧脚本中使用[Embed]标签 5 从SWF文件中嵌入一个元件 6 使用[Embed]标签嵌入字体 7 使用嵌入的XML文件 在Flash中嵌入元数据标签-基本要求 为了能够完成这篇文章中的示例,你需要如下软件和文件: Flash CS4 Professional; Flex 3 SDK 示例文件: http://download.macromedia.com/pub/developer/embed_metadata.zip (ZIP, 390K) 在Flash中嵌入元数据标签-储备知识 建议有AS3编程经验,使用Flash创作环境,Flex3 SDK环境的也是有帮助的。 这项工作采用授权方式为: Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 在Flash中嵌入元数据标签-关于作者 Tareq AlJaber是Adobe的一位软件质量工程师,他专注于Flash-Flex工作流程以及编译特性。在进入Adobe之前,他在一个制造工作制作3D动画,为Jordan Television创立了虚拟实验室。Tareq在 Jordan University获得了计算机科学学位,并获得了 Cal State [...]
我的FLASH情结2010——浅谈FLASH WEB GAME与创业(转)
作者:寂寞火山 链接:http://bbs.blueidea.com/thread-2969949-1-1.html ★好久没认认真真的写东西了,2010新年伊始,送上一篇心得,希望可以对大家有帮助。 ★内容还在完善中,先贴目录,敬请关注: →我的FLASH WEB GAME开发历程 →当今FLASH WEB GAME概述 →创业型游戏公司面临的问题和困难 →FLASH WEB GAME的系统架构 →FLASH WEB GAME的前端架构与人事分工 →前端与美术的配合 →前端与后端的配合 →公司文化与产品定位 →2010年:我的梦想扬帆起航 ======================================正文======================================== ★我的FLASH WEB GAME开发历程 →2007年的夏天,顶着炎炎烈日,我从学校直接跑到上海,开始了我的FLASH WEB GAME创业之旅。时至今日,转眼快三年了。作为国内比较早的一批FLASH WEB GAME开发人员,今天我粗略的总结一下这两年多的经验和心得。讲的不对的地方,请大家多多指教。 →2007年刚到上海的时候,初创团队只有四个人,一个CTO,一个美术,一个后台,一个前台。手里的产品是一个已经在台湾运行三年左右的FLASH社区,和国内的梦境非常像。这个产品还是不错的,早在FLASH5就在开发出来了,FLASH6出来后,又用新版本的AS1重写过。这个产品让我又爱又恨,爱的是,在2007年的时候,国内除了梦境和1D真的很少有能赶上它的;恨的是,这个产品竟然没有前端源码!要想修改还要破解!玩过AS1,在时间轴、MC和BTN上写过代码的朋友应该知道这是什么概念——1个字:囧! →后来老板可能也觉得这样改下去不是办法,终于同意自己重写一个。正好07年有条新闻很火爆:国外有个FLASH社区第一次利用FLASH技术取得了重大成功,以7亿美金卖给迪斯尼,它就是“企鹅俱乐部”。老板看到了商机,我们决定做一个中国版的企鹅,于是“海底世界”应运而生了。而“海底世界”的创意,只不过是我们四个初创成员在闲聊时,我开玩笑随便说的。 →海底世界正式开发到现在差不多正好两年,期间我们碰到无数的问题和困难,不管是公司层面或技术层面,都是如此,但始终是坚持了下来。产品一天天完善,公司规模也一天天扩大。前端从最开始的两个人,到现在5个人;后端从最开始的FMS+PHP到现在自己写的socket服务器;公司规模也从最开始的4个人,到现在的50多个人。 ★当今FLASH WEB GAME概述 →2007:含苞欲放! 2007年可以说是FLASH WEB GAME发展史上的分水岭。2007年之前,我们眼里只有梦境,最多再加上昙花一现的抱抱城,那时候根本没有“FLASH WEB GAME”这个概念,大家谈的都是“FLASH社区”,“FLASH社区”这个词在很长一段时间代表着FLASH应用领域的至高点。也许2007年已经有不少团队开始研发FLASH的MMORPG了,我曾经有幸知道几个,但很可惜,不少都胎死腹中,2007年国内在线上运营的FLASH WEB GAME基本上还是空白。但不管怎么说,我相信2007年是蓄势待发的一年,肯定有很多类似我们公司的团队,在默默的努力着。 →2008年:雨后春笋! 经过2007年的积累和准备,FLASH WEB GAME业界的战斗终于在2008年打响,以“摩尔庄园”,“海底世界”为代表的“FLASH儿童虚拟社区”开始崭露头角;以“纵横天下”为代表的FLASH策略类游戏兴起;以“昆仑”为代表的FLASH MMORPG让“无端网游”的概念又炒了起来。还有各种基于FLASH的卡牌对战类,联机棋牌类,模拟经营类游戏等等,都如雨后春笋般破土而出。 →2009年:百花齐放! 2008年,国内虽然一下出了很多FLASH WEB GAME,但大家只要认真收集,总归还是能数的过来,可到了2009年,几乎每隔一个月,都会有几个新的FLASH WEB GAME进入大家视野,而且他们越来越完善,功能越来越强大,盈利模式也开始成熟并多样化。2007年每出一个FLASH [...]
URL和URI的区别
URI是统一资源标识符(Uniform Resource Identifier)的缩写,URL是统一资源定位符(Uniform Resoure Locator)的缩写,另外还有URN也经常使用,它是统一资源名称(Uniform Resource Name)的缩写。URL是通过”通讯协议+网络地址”字符串来唯一标识信息位置及资源访问途径的一种方法;URN则主要用于唯一标识全球范围内由专门机构负责的稳定的信息资源,URN通常给出资源名称而不提供资源位置;URI是一种用字符串唯一标识信息资源的工业标准(RFC2396),它使用的范围及方式都较为广泛,在XML中用URI引用来标识元素的命名空间(Namespace),URI包括了URL和URN,是二者的超集。 URL编码 URL编码-URL编码定义 url编码是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值 ,将它们以name/value参数编码(移去那些不能传送的字符, 将数据排行等等)作为URL的一部分或者分离地发给服务器。不管哪种情况, 在服务器端的表单输入格式样子象这样: theName=Ichabod+Crane&gender=male&status=missing& ;headless=yes URL编码-URL编码规则 URL编码遵循下列规则: 每对name/value由&符分开;每对来自表单的name/value由=符分开。如果用户没有输入值给这个name,那么这个name还是出现,只是无值。任何特殊的字符(就是那些不是简单的七位ASCII,如汉字)将以百分符%用十六进制编码,当然也包括象 =, &, 和 % 这些特殊的字符。其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。那么汉字的url编码呢?很简单,看例子:“胡”的ascii码是-17670,十六进制是BAFA,url编码是“%BA%FA”。 escape () 函数 public function escape(str:String):String 语言版本 : ActionScript 3.0 Player 版本 : Flash Player 9 将参数转换为字符串,并以 URL 编码格式对其进行编码,在这种格式中,大多数非字母数字的字符都替换为 % 十六进制序列。 当用于 URL 编码的字符串时,百分号 (%) 用于引入转义字符,不与模运算符 (%) 等效。 下表显示不会 由 escape() [...]
AVM2 SWF 文件加载 AVM1 SWF 文件
AVM1Movie 是表示使用 ActionScript 1.0 或 2.0 的 AVM1 影片剪辑的简单类。 (AVM1 是用于运行 ActionScript 1.0 和 2.0 的 ActionScript 虚拟机。AVM2 是用于运行 ActionScript 3.0 的 ActionScript 虚拟机。) 当 Loader 对象加载 Flash Player 8 或更低版本的 SWF 文件时,会创建 AVM1Movie 对象。 AVM1Movie 对象可以使用继承自 DisplayObject 类的方法和属性(如 x、y、width 等)。 但是,不允许 AVM1Movie 对象和 AVM2 对象之间进行互操作(如调用方法或使用参数)。 AVM2 SWF 文件加载 AVM1 SWF 文件具有几个限制: 加载的 AVM1Movie 对象将作为 [...]
初试FLASH的屏幕阅读器支持功能
什么是屏幕阅读器: JAWS是全球最受欢迎及最先进的屏幕阅读系统,它支持不同的语言,是视障人士最方便的电脑操作工具。 屏幕阅读器是一种结合扬声器或点字显示器,通过播放或摸读的方式来读取电脑屏幕里包括图示、功能表、文字、符号和控制按钮等所有资讯的软件。 它主要用于视障人士(包括完全失明者、白内障患者、眼部肌肉坏死和严重糖尿病患者)。而且根据统计资料显示,视障人士占人口比例并不少。 JAWS是为那些能够操作电脑但又不能完全以视觉了解屏幕资讯的人而设的一种工具。通过JAWS,屏幕上的文字会以声音或从点字器输出,让视障人士可轻轻松松地浏览中文网站。 Flash帮助文档: 测试辅助内容 测试您的可访问 Flash 应用程序时,请遵循以下建议: 下载几种屏幕阅读器,并在启用屏幕阅读器的情况下在浏览器中播放您的应用程序,以对其进行测试。如果文档中插入了独立的音频,请确保屏幕阅读器不会试图在这些音频位置上“插嘴”。有一些屏幕阅读器应用程序提供了演示版供用户免费下载,您应尽量多试用几种屏幕阅读器,以确保您的程序能兼容各种屏幕阅读器。 测试交互式内容并检验用户是否只使用键盘就能有效浏览这些内容。 不同的屏幕阅读器在处理来自键盘的输入时以不同的方式工作;您的 Flash 内容可能无法按您的设想接收键击。 测试所有键盘快捷键。 测试文件并进行更改 测试任何可供屏幕阅读器使用的 SWF 文件。 发布 Flash Player 的每个新版本(包括次修订版本)时都应对 SWF 文件进行测试,应使用下列选项进行测试: Window Eyes 和 JAWS for Windows 屏幕阅读器,这些阅读器以不同的方式处理 SWF 文件,因此您能获得不同的用户体验结果 在不使用屏幕阅读器的情况下在浏览器中打开站点,并且不使用鼠标浏览站点 关闭显示器,只使用屏幕阅读器浏览 Web 站点。 如果您使用了声音讲解,请在不开启扬声器的情况下测试站点。 让多个目标访问者访问站点。 注: 您不必测试各种不同的浏览器,因为只有 Windows 上的 Internet Explorer 支持将 SWF 文件公开给屏幕阅读器 (MSAA) 所需的技术。 setTimeout(updateAccessibility, 4000); private [...]