Flash-x开发框架说明

移动开发 Android
还记得十年前惊为天人的JS版星际么?现在,这位大神将他多年的Flash游戏开发经验带入了手游界,震撼推出 Flash-X 框架。用AS3开发,编译为Lua运行,开发效率+运行效率+灵活性的完美结合!

对于广大使用AS3作为开发语言的Flash程序员来说,如何转行到如日中天的手游开发是一件头痛的事情。Adobe提供的解决方案让人不敢恭维, 放弃使用多年的有如呼吸一般顺畅的AS3,去学习陌生的C++、LUA或C#简直就是要命,因为这不仅要去适应新的语法,还要学习新的开发环境,新的类和 新的API,这种从头开始的感觉可真不好。

作为一个化石级的页游开发者,作者同样遇到这个难题。经过努力,我推出了自己的解决方案,那就是Flash-x开发框架,该框架利用标准的AS3项 目,使用Flash的规则开发游戏,只是在运行前把AS3文件转换成LUA文件,再按照cocos2d-x的规则运行显示。关键的问题当然是如何进行代码 转换,这听起来挺玄乎的,毕竟AS3和LUA乍一看有着巨大的差异,其实还是有迹可循的,经过多次改进,终于达到实用的程度。

Flash-x的优点

  1. 开发时是标准的AS3项目,运行时则是cocos2d-x的环境,兼顾了方便和效率,完全为Flash程序员转型量身定制
  2. 与LUA相比,AS3在编码时要方便很多,毕竟这是完全面象对象的语言。另外还实现了语法编译,从而在运行前就排除掉大部分错误
  3. Flash-x框架不仅仅是提供了语法转换,更重要的是提供了一套成熟而又简洁的开发机制,这是作者在多年的页游开发中精炼出来的。包括UI、动画、数据和事件等,都有简单方便的解决方案

Flash-x的缺点

  1. 转换规则还是有一些限制的,主要是字符串方面的,变通的方法在开发文档中有说明
  2. 没有实现getter和setter方法,以及super关键字,这也都是因为LUA本身的局限所致

开发环境配置

  1. 下载Flash-x开发包,解压到硬盘上,比如d:\flash-x\
  2. http://www.flashdevelop.org官网下载flashdevelop开发工具并安装
  3. http://www.adobe.com/devnet/flex/flex-sdk-download.html下载最新版的flex sdk
  4. 打开FD,选择主菜单Tools->Program Settings,在弹出的Settings对话框中,选择AS3Context->Installed Flex SDKs,弹出下面的对话框,并按图操作

  1. 双击d:\flash-x\flash-x.as3proj项目文件,打开Flash-x项目,看到熟悉的FD开发界面了

  1. 点击F5快捷键,编译运行项目,结果是一个最简单的hello,world输出

简要开发说明

然后就可以开始写代码了,写什么呢?如果是Flash程序员,可以看看项目中的开发文档,然后从做一些功能测试开始。对于其他语言的程序员,我推荐 先进行字符串、数组、if语句、for循环和函数调用等基础语法的测试,这些都是AS3的基本知识,很重要,学起来也很容易的。

入口类是Main.as,其他逻辑代码一般都放在game目录下。我尽量按照Flash的规则封装基本的控件体系和常用API,不过也没有完全照 搬,而是对其进行简化。Element是控件基类,Box和Clip分别是容器类和图片类,这二者加上时钟和事件,就可以完成各种各样的开发需求了,具体 说明见开发文档。

现在,你实际上已经可以为所欲为了,不过也可能会手足无措。为了帮助大家用好Flash-x框架,我将会陆续推出一些经典的实例教程。

精彩实例

所有实例都包含在Flash-x开发包中,处于src/game/example目录,请下载最新的版本

  1. 飞行引导箭头,寥寥几行代码,实现灵动的飞行效果

责任编辑:徐川 来源: quick-x
相关推荐

2010-02-01 11:03:51

Python Djan

2010-06-11 16:46:06

openSUSE Fl

2009-12-07 17:46:52

WCF框架

2009-09-04 21:21:17

2009-12-07 18:06:46

WCF框架

2010-02-24 16:23:46

Python核心编程

2009-05-13 09:57:33

AdobeStrobe框架

2011-07-08 10:58:47

2016-01-04 10:18:26

软件漏洞2015

2010-02-23 10:50:11

Python 测试框架

2010-08-18 09:23:19

Flash Lite移动应用程序开发

2011-10-13 10:39:23

FlashMac OS X木马

2010-02-24 17:58:28

Python 测试框架

2009-12-09 15:16:33

2009-12-14 10:19:23

.NET Framew

2009-11-30 15:57:18

VS2003 MFC

2009-12-10 17:11:14

.NET Framew

2010-05-11 09:53:28

FlashGianduia

2009-07-27 09:23:24

2011-10-14 10:54:36

木马更新
点赞
收藏

51CTO技术栈公众号