Flixel框架介绍一

来源:互联网 发布:怎样用matlab编程 编辑:程序博客网 时间:2024/04/30 23:10

What is Flixel?

Flixel是一个完全开源的Flash游戏的开发框架,Flixel的哲学我挺欣赏的,它封装了Flash中和游戏相关的大部分内容,重新提供了一套Flixel接口,方便程序的开发,提高了代码的统一,提高了代码的可读性。此外还提供了动画、运动、2D碰撞、tilemap、场景管理等扩展功能,最适合2D横板动作类游戏的开发。

Flixel是非常灵活的,继承关系不复杂,接口清晰简单。它的一个类专注提供一块内容(这点我觉得Flixel的粒度把握的非常不错,并不是像很多库一样划分的极细,导致继承关系太过复杂),本身的功能类数量并不太多,学习起来很轻松。所以也基本上不需要手册,官网上也只是提供了一些How To来做参考。

Flixel提倡开源,提倡使用开源工具,偏向小规模项目的开发。在官网上也介绍了许多开源工具,包括美术用的像素画工具和Flixel的tilemap制作工具。

 

如何上手?

最快能让你上手Flixel的地方就是它的官网(http://flixel.org/),可惜是英文的。不过我接下来会对开发框架的搭建做一个流程介绍,可能和官网的教程会有一些不同。

首先,安装开发用的IDE,这里我推荐下FlexBuilder3,和刚出的4相比会更加成熟、小巧。另外它也支持FlashDeveloper、FlashBuilder、sdk等方式。

flexbuilder3

创建新的ActionScript工程,别忘记取一个好听的名字。

flexbuilder3_new_project

下载Flixel的压缩包,解压后把里面的org放到工程的src目录中,这样你的代码可以直接import它。

我新建的工程叫做TestGame,很土的名字吧。把作为入口的那个TestGame.as的内容改成下面这样:

flexbuilder3_testgame

这里的TestGame继承了FlxGame,是游戏的入口,它定义了输出的Flash的长和宽,以及一个作为初始状态的TestState。

TestState是最初的游戏场景,我这里按照习俗给出了一个“Hello World”的例子。代码如下:

flexbuilder3_teststate

我暂时不会解释代码的具体意义,让我们先运行一下看看吧。

OMG,发现了问题:

flexbuilder3_err

原因写在双击之后跳转的代码注释里面:

// NOTE: Flex 4 introduces DefineFont4, which is used by default and does not work in native text fields.
// Use the embedAsCFF=”false” param to switch back to DefineFont4. In earlier Flex 4 SDKs this was cff=”false”.
// So if you are using the Flex 3.x SDK compiler, switch the embed statment below to expose the correct version.

大概因为开发者已经换到了Flex 4.X下的缘故吧,我们3.X众只需要把下面两段代码交换一下,让适合3.X的代码生效即可。

flexbuilder3_helloword

原创粉丝点击