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 [...]
[译] FLEX 里的全局错误处理
资讯类型: 翻译 来源页面: http://www.summa-tech.com/blog/2010/01/04/global-error-handling-in-flex/ 资讯原标题: Global Error Handling in Flex 资讯原作者: Brian Gray FLEX 里的全局错误处理 我参与过不少大型的flex应用程序的开发,基本上所有关于平台的事情都让我感到高兴,包括快速构建原型,UI创建方面的强悍,不过运行时错误处理如此之难让我感到很郁闷。当程序缩放时,它会变得很难来保证它不会抛出一个运行时错误,默认的flash播放器没有任何响应,不给任何反馈和提示,这种事情将是不符合期望标准的。我找到了下面的这个方法(直到未来的flash player 10 bata版 支持这个)Jorg birkhold 描述的当任何错误抛出的时候,怎样调用事件分发器来抛出一个事件,代码如下: private function onPreinitialize():void { // setup global error handling UIComponentGlobals.catchCallLaterExceptions = true; systemManager.addEventListener(“callLaterError”, handleErrors); } 我在主程序里添加了一个事件处理函数,做了如下操作: 1.在控制台里打印出堆栈信息以供调试、 2.弹出一个对话框给用户,这个要具体看抛出的是什么样的错误,当然这个不一定会显示到屏幕上,但是一定要确保平滑的过渡,并阻止用户进一步的交互操作 3.如果允许使用Javascript,那么调用JavaScript的方法,在这里你可以做一些你想要做的事情,但是我建议是让用户跳转到一个提示错误的页面,告诉他们那里出错了,给出正确的页面地址,并让他们回到刚刚出错的地方,重新开始。 public function handleErrors(event:Event):void { if (event is DynamicEvent && event.hasOwnProperty(“error”)) { // [...]
[译] 在Spark的容器组件中使用Halo(mx)的导航组件
资讯类型: 翻译 来源页面: http://www.tink.ws/blog/using-spark-containers-in-mx-navigators/ 资讯原标题: Using Spark Containers in MX Navigators 资讯原作者: 我很喜欢使用mx的导航组件:如ViewStack, TabNavigator等,然而当我们将这些导航组件添加到spark的容器中的时候会出现以下错误提示: The children of Halo navigators must implement INavigatorContent. 解决的办法有以下两种: 1.自己去封装新的spark容器 2.使用spark的NavigatorContent组件( NavigatorContent 扩展了spark的SkinnableContainer ,所以你可以把它当成组或者自定义布局来使用)。 <?xml version=”1.0″ encoding=”utf-8″?> <s:Application xmlns:fx=”http://ns.adobe.com/mxml/2009″ xmlns:s=”library://ns.adobe.com/flex/spark” xmlns:mx=”library://ns.adobe.com/flex/mx” minWidth=”955″ minHeight=”600″> [...]
[译] 60个值得一看的RIA应用程序(下)
资讯类型: 来源页面: http://www.hongkiat.com/blog/60-useful-adobe-air-applications-you-should-know/ 资讯原标题: 60+ Useful Adobe AIR Applications You Should Know 资讯原作者: 不知 Microblogging 更方便更快捷的使用微博 1.TweetDeck 用于Twitter 2.Alert Thingy 3.Feedalizr 4.MySocial AIR 5.Twhirl 6.Posty 7.Toro 8.Spaz 9.BTT 10.Tweetr [list=5]Social Network 与社区网站相关的应用 1.DiggTop 2.Facedesk 3.Flair 4.Babuki 5.MINI DIGG [list=6]Miscellaneous 其他的一些有用的RIA桌面应用 1.WordPress Comment Moderator 2.Apprise Reader 3.Ora Time And Expense 4.Timeloc 5.Doomi 6.Klok 7.MiniTask 8.Agile Agenda
[译] 60个值得一看的RIA应用程序(上)
资讯类型: 来源页面: http://www.hongkiat.com/blog/60-useful-adobe-air-applications-you-should-know/ 资讯原标题: 60+ Useful Adobe AIR Applications You Should Know 资讯原作者: 不知 Adobe AIR在2007年3月19日以阿波罗的名称被首次推出,它拥有一个跨操作系统运行时,它使的Web开发人员可以利用现有的Web开发技能,代码和工具来构建和部署丰富的网络应用和内容到桌面端。 有了Adobe AIR的丰富的功能,开发人员能够使用HTML,Ajax,JavaScript,Flex和Flash来构建应用程序。因此,我们完全可以相信,Adobe RIA拥有构建超越浏览器的用户体验的应用程序的潜力。下面是收集的60 多个很不错的Adobe AIR应用: