对于广大使用AS3作为开发语言的Flash程序员来说,如何转行到如日中天的手游开发是一件头痛的事情。Adobe提供的解决方案让人不敢恭维, 放弃使用多年的有如呼吸一般顺畅的AS3,去学习陌生的C++、LUA或C#简直就是要命,因为这不仅要去适应新的语法,还要学习新的开发环境,新的类和 新的API,这种从头开始的感觉可真不好。
作为一个化石级的页游开发者,作者同样遇到这个难题。经过努力,我推出了自己的解决方案,那就是Flash-x开发框架,该框架利用标准的AS3项 目,使用Flash的规则开发游戏,只是在运行前把AS3文件转换成LUA文件,再按照cocos2d-x的规则运行显示。关键的问题当然是如何进行代码 转换,这听起来挺玄乎的,毕竟AS3和LUA乍一看有着巨大的差异,其实还是有迹可循的,经过多次改进,终于达到实用的程度。
Flash-x的优点
- 开发时是标准的AS3项目,运行时则是cocos2d-x的环境,兼顾了方便和效率,完全为Flash程序员转型量身定制
- 与LUA相比,AS3在编码时要方便很多,毕竟这是完全面象对象的语言。另外还实现了语法编译,从而在运行前就排除掉大部分错误
- Flash-x框架不仅仅是提供了语法转换,更重要的是提供了一套成熟而又简洁的开发机制,这是作者在多年的页游开发中精炼出来的。包括UI、动画、数据和事件等,都有简单方便的解决方案
Flash-x的缺点
- 转换规则还是有一些限制的,主要是字符串方面的,变通的方法在开发文档中有说明
- 没有实现getter和setter方法,以及super关键字,这也都是因为LUA本身的局限所致
开发环境配置
- 下载Flash-x开发包,解压到硬盘上,比如d:\flash-x\
- 从http://www.flashdevelop.org官网下载flashdevelop开发工具并安装
- 到http://www.adobe.com/devnet/flex/flex-sdk-download.html下载最新版的flex sdk
- 打开FD,选择主菜单Tools->Program Settings,在弹出的Settings对话框中,选择AS3Context->Installed Flex SDKs,弹出下面的对话框,并按图操作
- 双击d:\flash-x\flash-x.as3proj项目文件,打开Flash-x项目,看到熟悉的FD开发界面了
- 点击F5快捷键,编译运行项目,结果是一个最简单的hello,world输出
简要开发说明
然后就可以开始写代码了,写什么呢?如果是Flash程序员,可以看看项目中的开发文档,然后从做一些功能测试开始。对于其他语言的程序员,我推荐 先进行字符串、数组、if语句、for循环和函数调用等基础语法的测试,这些都是AS3的基本知识,很重要,学起来也很容易的。
入口类是Main.as,其他逻辑代码一般都放在game目录下。我尽量按照Flash的规则封装基本的控件体系和常用API,不过也没有完全照 搬,而是对其进行简化。Element是控件基类,Box和Clip分别是容器类和图片类,这二者加上时钟和事件,就可以完成各种各样的开发需求了,具体 说明见开发文档。
现在,你实际上已经可以为所欲为了,不过也可能会手足无措。为了帮助大家用好Flash-x框架,我将会陆续推出一些经典的实例教程。
精彩实例
所有实例都包含在Flash-x开发包中,处于src/game/example目录,请下载最新的版本