摘要: 当我们一边正在等待Stage3D的发布时,很多开发者似乎还停留在这个印象中:即使AIR 3.0也无法在移动设备上开发出高性能的游戏。而事实上,只需要做一点点的工作,高性能的GPU加速功能已经为我们敞开了大门!在这片文章中,我将为您展示跟传统显示列表编程方式相比,能提升5倍以上的性能的优化方案。最终成果将会是一个用IOS5硬件加速的性能更高的渲染引擎(这点在后文跟进…)。本文说的啥 Adobe的工程师们在为AIR3.0重新设计GPU渲染模式的任务中做了出色的工作。现在我们开发者只需做很少量的工作,就可以从这些小小的移动设备上哄骗出超乎想象的性能。那么,我们到底需要做些什么呢?1.在你的app.. 阅读全文
posted @ 2013-02-28 18:45 【Winco】 阅读(300) 评论(0) 推荐(0) 编辑
摘要: Shawn Blais 让我了解到如何在移动平台上对AS3代码进行优化。他的博客(http://esdot.ca/site/category/blog)只有十来篇文章,但都是些很意思的信息,尤其适合我。这篇文章介绍的是关于图形方面的优化。 下面三个步骤可以提高程序的性能,其实都围绕一个理论:一切皆bitmap。 或许你可以使用MovieClips 或者 Sprite序列动画,甚至可以继续保持使用Flash的渲染列表来保持代码简单整洁。但真正的图片数据是? Bitmap!一切皆bitmap。步骤一: 使用GPU渲染 当你创建一个移动程序的时候,你会找到一个包含所有基本程序设定的文件,叫" 阅读全文
posted @ 2013-02-28 18:17 【Winco】 阅读(1113) 评论(0) 推荐(0) 编辑
摘要: 概述每个游戏或应用都必须有若干的资源——无论是纹理,声音,位图文字,或其它各种对象。这些资源可以是嵌入的(可以理解为所有资源都在一个文件的浏览器游戏)或随游戏进行的(适用于手机游戏保存RAM需要嵌入对象)。在如何引入资源以不同的方式访问它们有许多选择。AssetManager帮助你做到这些。它是允许你以各种方式添加资源,并且很轻易地调用它们的类。目前,AssetManager支持下列类型的资源:·纹理·纹理图集·声音·位图文字加载资源比方说你要从硬盘加载一些资源,并从嵌入类加载其它资源。这里是如何通过AssetManager来加载它们。首先,创建一个具有 阅读全文
posted @ 2013-02-28 16:15 【Winco】 阅读(1408) 评论(0) 推荐(0) 编辑
摘要: Starling本身是一个2D框架,不过引入一些3D计算,就可以实现简单的3D效果。这次我们要演示的是一个3D云彩效果,您就像一个战斗机飞行员,驾驶爱机在空中腾云驾雾,享受在云层中急速穿梭的感觉。因为只是简单的引入了Z轴排序,效果看起来还有不少瑕疵,期待3D高手不吝赐教,继续优化一下这个效果:)示意图:演示地址: http://www.todoair.com/demo/cover/CloudDemo.html附上源代码:package cloud{ import flash.display.Bitmap; import flash.geom.Point; import flash.geom.R 阅读全文
posted @ 2013-02-23 09:40 【Winco】 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 自从Ubuntu宣布要推出Ubuntu手机后,吸引了不少开发者及支持者的注意。尽管这款手机可能要在10月份才能问世,但是今天Ubuntu手机的ROM开放下载了,首批支持4款机型:Galaxy Nexus、Nexus 4、Nexus 7和Nexus10。 根据Ubuntu官方介绍,此次提供下载的系统为开发者预览版,仅供开发者测试使用。Ubuntu特别提示开发者,如果刷入了Ubuntu将会清空原来Android系统所有数据,并且是不可恢复的。喜欢尝鲜的Galaxy Nexus、Nexus 4、Nexus 7和Nexus10机友们可以下载试试看,下载地址:http://www.ubuntu.com/ 阅读全文
posted @ 2013-02-22 22:06 【Winco】 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列。稳定度(稳定性)一个排序算法是稳定的,就是当有两个有相等关键的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。当相等的元素是无法分辨的,比如像是整数,稳定度并不是一个问题。然而,假设以下的数对将要以他们的第一个数字来排序。(4,1)(3,1)(3,7)(5,6)在这个状况下,有可能产生两种不同的结果,一个是依照相等的键值维持相对的次序,而另外一个则没有:(3,1)(3,7)(4,1)(5,6) (维持次序)(3,7)(3,1)( 阅读全文
posted @ 2013-02-22 18:21 【Winco】 阅读(245) 评论(0) 推荐(0) 编辑
摘要: (1)事件是一个对象,它由flash play产生和管理。事件流分捕获阶段,目标阶段和冒泡阶段。事件流的示意图如下,这里说明一下target和 currentTarget的概念。当一个事件流产生时,就产生了一个显示对象列表,而target是最里层的对象,而 currentTarget是捕获阶段和冒泡阶段被"遍历"的显示对象,当然它只有注册了时间监听器,我们才能获得 event.currentTarget。 (2)不是所有的事件都有这三个阶段。如Timer、URLLoader,它们的事件对象将直接派送给目标对象(target).它们只包含目标阶段而没有捕获阶段和冒泡阶段。它们 阅读全文
posted @ 2013-02-21 22:55 【Winco】 阅读(1610) 评论(0) 推荐(0) 编辑
摘要: 1. enterFrame是一个由播放器发布的事件,每过(1/帧频)秒向全部继承自DisplayObject的对象发送。在这个事件之前正好是屏幕的一次固定刷新。(即两次更新的时间间隔为(1/帧频)秒)2.假设 Flash的舞台的帧频stage.FrameRate设置为25帧/秒,即每帧运行时间是1000ms/25帧,即1帧占40毫秒。Event.EnterFrame的出发间隔为40ms,如果Event.EnterFrame的执行函数花费时间为25ms,那么Event.EnterFrame将以间隔40ms的恒定频率循环执行函数。3.Timer就不一样了,Timer 设置为间隔40ms,而Time 阅读全文
posted @ 2013-02-21 22:32 【Winco】 阅读(1131) 评论(0) 推荐(0) 编辑
摘要: 换系统之后发现,换了新版的Chrome。我想用debug版的flashplayer插件,于是照常规安装了“flashplayer plugin debug”版。装好之后重启Chrome打开http://www.flashplayerversion.com/,看到版本是最新的,可不是debug version,觉得很奇怪。后来到控制面板里把flash plugin直接卸载了,打开Chrome依然能播放flash!原来最新版的Chrome都已经内置了flashplayer,而且是最新版的,这本是很好的事情,但对于flash开发者来说,需要的是debug版的fp,需要找到方法给Chrome把内置的f 阅读全文
posted @ 2013-02-20 17:54 【Winco】 阅读(452) 评论(0) 推荐(0) 编辑
摘要: Aaron Stannard是新创公司MarkedUp的CEO,他最近花费大量时间雇佣、评估很多不同的程序员,并和他们一起协作。在这个过程中他发现并总结了十种程序员无法意识到自己潜力的原因,意在让更多程序员发掘出自己的潜力,从而成为强大的程序员。Aaron提到,他的公司中所使用的技术非常复杂,某些大型企业都很难掌握,所以对于想要加入团队的程序员来说,入门门槛非常高。因此,尽管他们非常仔细地雇佣新人,但还是很难找到足够天才的程序员。于是,他总结出十种阻碍程序员职业生涯发展的行为,并据此来帮助想要提升自身的平凡的程序员们。1. 太害怕学不会新的工具、语言和框架一般的程序员会墨守他们最喜欢的工具,而 阅读全文
posted @ 2013-02-20 09:51 【Winco】 阅读(199) 评论(0) 推荐(0) 编辑