《Running Panda》作者的移动游戏开发心得分享

今天呢·无比懒散的DreamFairy作为一个骑行者狂飙了一下午后,回到电脑前。看到社区里之前做 “熊猫快跑” 的作者放出了心得啦。于是乎,果断转载过来。 DreamFairy也打算参加 腾讯的线上游戏开发项目呢。

以下是文章原文啦:

原文作者:Hack86????

? ?? ?随着Air2.6大面积推广,Adobe毫不忌讳的踏入了移动领域。在苹果手机和安卓手机大肆PK的今天,平台市场和内容市场也新兴而起,笔者也拿起了笔,不对,准确的说是键盘和鼠标,来尝试一下,如何用熟悉的ActionScript3来开发一款可以跨平台的游戏。

?


??????打开Flash Builder 发现新建里多了两个清新的选项,那就传说中的手机项目,新建后发现和普通项目并没有什么不同,只是多了一个主类同名的XML文件,用他可以配置一些手机上的特性,比如开关GPU,比如横屏锁定等等,除了这个几乎和别的AS项目没有任何不同的地方,感觉完全没有任何门槛,只能一个字来表示,那就是:刺激。

? ?? ? 在移动平台中开发思路上可能会有些变化,但是总体上没有任何问题,以下是我开发收集的一些经历,比如我们习惯性用键盘按键来发射子弹,但是平板手机中是没有键盘的,所以改成了触屏,而这在PC上表现为鼠标点击,所以实现就变得通俗容易,并且测试的时候也是用鼠标点击,在细节上会有些变化,比如按钮的划过状态在手机上消失,因为手机上快走指针,只有点击,同理监听MouseMove事件的时候 不用再判断是否MouseDown 因为在手机上不可能在未Down的情况下促发Mouse事件,这些都是一些细节上的不同,但是在实现上方案和传统的一样容易,所以为移动所付出的额外代价只是这些细节,如果你开发3个平台以上的话,那么这些细节需要多多考虑,但是比起重新开发三个版本,那这成本几乎是可以忽略不计的。所以还是那两个字:爽。

? ?? ?启动游戏后,在手机上运行了下,效果没有想象的好,FPS一路走低,由于AS3的所有事件都是被异步优化后基于Frame来执行的,所以虽然理论上帧率过了24就可以消除卡的感觉,但是24fps状态下的操作延迟将近40多毫秒的延迟手感和体验都是比较差的,特别是对于动作游戏,如果你是策略的菜单游戏,那么24基本就可以接受了。但如果要做动作游戏,还是要达到普通人类下意识反应速度18毫秒以内,也就是55fps以行。那么优化也是一个非常大的问题,其实很多朋友会把过多的优化思考在变量的多少或者对象的GC上,其实他只是内存优化,而帧率的根本问题还是画面重绘。AS3是非常高级的语言,我们不需要太多低级的操作方法,只需要在画面上让重绘区域尽量减少,让重绘区域中的层数尽量维持在最少的图层,并且全部都使用位图,如果担心文件体积过大,可以导入矢量素材,用bmp来转换成位图也是一个很好的方法,当然手机资源有限一定要注意释放。经过以上基本简单的优化和设计上的规避,笔者的第一款游戏成功的达到了55fps以上,当我看到帧率发生了如此明显的变化后,我真是激动不已,如果你有兴趣的话,也马上动手来试一试把。……

 

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注