快速创建精彩的Flash游戏之一:Flash游戏引擎及框架介绍
2011-05-28 12:51
691 查看
Adobe Flash自诞生之日就与游戏结下不解之缘。时至今日,无数游戏通过Flash制作并传播,Flash游戏已经从最初的浏览器小游戏,扩展到大型的客户端单机游戏、多人即时互动网页游戏、移动平台游戏等等领域。
从本篇开始,将为大家介绍Flash游戏相关的引擎、框架及实用API,方便开发者快速的选择适合自己项目的工具,创建精彩的Flash游戏。
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig01.png)
Flixel是我非常喜欢的开源位图引擎。作者运用ActionScript的Bitmap创建了这个全位图引擎,所谓全位图,就是游戏场景中所有元件最终均绘制在一个位图对象上,在游戏过程中每帧进行重绘。也正因为如此,此引擎非常擅长处理同屏同时出现大量的游戏元件,其高效的渲染会让你激动不已。当你需要创建2D卷轴游戏或者场景中需要大量运动元素的游戏,Flixel引擎是你的首选。
Flixel还具有一些不错的特性:
采用QuadTree的对象链,高效的碰撞检测
位图动画Sprite
通过文本及图片创建Tiles地图
简单易用的粒子系统
高效的滚屏
自定义的鼠标光标
方便的debug显示终端
此外在引擎开发者论坛中,还有用户将此引擎移植到Android平台上。
官方网址: http://www.flixel.org/*
运行环境: ActionScript 3,Flash Player 9 及以上版本
开发环境: Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
典型案例:
Canabalt ( http://adamatomic.com/canabalt/* ) 这个游戏在作者的网站上每月会消耗2.5T的流量,可见流行的程度。游戏中高速流畅的滚屏会让你惊叹Flash的效率。此游戏还移植到iOS上,并在App Store中销量不菲。
Omega Crisis ( http://www.kongregate.com/games/lucidrine/omega-crisis* ) 这个塔防类游戏,画面、游戏性与操作性都相当不错。
更多采用此引擎的游戏展示: http://flixel.org/games/*
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig02.jpg)
PushButton是一个开源的Flash游戏引擎,其实它更像一个游戏框架。引擎由ActionScript 3开发,需要Flash Player 9及以上的运行环境。官方还提供与游戏构建相关的组件,例如Box2D,Rendering2D等。同时在引擎中包含了资源管理、日志、调试监控、线程及时间管理等功能。
开发者可以运用这套框架按模块方式集成各种渲染模块、物理模块、网络通信模块来创建游戏。
官方网址: http://pushbuttonengine.com/*
运行环境: ActionScript 3,Flash Player 9 及以上版本
开发环境: Flash CS4及以上版本,Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
典型案例:
Social City ( http://pushbuttonlabs.com/games/social-city/* )
这个在Facebook上月活跃用户超过一千万的游戏,采用了PushButton引擎。
The Incredible Machine Mega Pack (http://www.gog.com/en/gamecard/the_incredible_machine_mega_pack*)
不可思议的机器系列想必大家不陌生,这个版本的近400兆大小的单机游戏也出自该引擎。
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig03.jpg)
FlashPunk同样是个针对位图的开源引擎。它具有清晰的框架以及创建游戏需要的动画、碰撞等类库,让开发者更专注与游戏的设计与测试中。
其主要特性包括:
相对独立与固定的帧频时间步长控制
像素、矩形区及网格的碰撞检测
高效的运动tweening
Z-sorted的渲染列表,方便深度排序
高效的粒子系统
官方网址: http://flashpunk.net/*
运行环境: ActionScript 3,Flash Player 9 及以上版本
开发环境: Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
典型案例:
Tiny Hawk ( http://www.kongregate.com/games/pekuja/tiny-hawk* )
类似超级玛丽,不过这次你脚下踩着的是滑板,一共32关。
Mr. Fat Snake ( http://www.kongregate.com/games/ReviveGames/mr-fat-snake?acomplete=mr+fat+snake* )
贪吃蛇的横轴飞速版。
更多采用此引擎的游戏展示: http://flashpunk.net/?p=games*
还有大量的开发者运用Flash创建2.5D的游戏,所谓2.5D,我们也称之为Isometric,也就是游戏视角采取倾斜视角(如斜45度角等),以平面的方式展现固定视角的3D效果。目前很多网页游戏均采用2.5D的方式。
需要注意的是,前面为大家介绍的位图2D引擎同样可以用来开发2.5D游戏。
接下来为大家介绍几个专注于2.5D开发的引擎。运用这些引擎,你可以把一些烦人的2.5D相关的坐标转换交给引擎处理,专注在你的游戏逻辑及设计上。
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig04.jpg)
As3isolib是一个基于ActionScript 3的 Isometric库,开发者运用它可以方便的开发2.5D的游戏或应用。其主要特性包括:
简易的2.5D场景创建方式
方便的于各种缓动(tween)引擎交互
增强的2.5D元件深度排序
场景显示渲染的性能优化
官方网址: http://code.google.com/p/as3isolib/*
运行环境: ActionScript 3,Flash Player 9 及以上版本
开发环境: Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
典型案例:
Zex Lex Duel ( http://apps.facebook.com/cp_zexlexduel/* )
Facebook上的一个机器对战小游戏 。
Down Town ( http://apps.facebook.com/downtowngame/* )
Facebook上的虚拟城市交友。
另外,还有开发者将这个2.5D的库制作成 PushButton引擎的一个组件。
http://code.google.com/p/pushbutton-ooo-extras/*
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig05.png)
OpenSpace是一个非常不错的引擎,用户可以非常快速方便的创建2.5D游戏。配合该公司的另外一款通信服务器SmartFoxServer,可以搭建多人实时交互的虚拟场景。
其特点包括:
完善的地图编辑方式
可缩放的场景
自定义地图滚屏方式
自定义的游戏角色
地图自动寻径
官方网址: http://www.openspace-engine.com/*
运行环境: ActionScript 3,Flash Player 9 及以上版本 开发环境:Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
典型案例:
The Settlers – My City ( http://apps.facebook.com/tsmycity* )
殖民者的网页版,你可以创建属于自己的殖民国 。
Petpet Park ( http://www.petpetpark.com/* )
很可爱的宠物公园虚拟社区。
更多的案例展示: http://www.openspace-engine.com/showcase*
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig06.jpg)
TheoWorlds 除了包含Iso引擎之外,还包含聊天、地图编辑器等组件,可以帮助开发者快速的开发2.5D的虚拟世界。
主要特性有:
8方向的运动角色
自定义角色形象
自定义角色动作
快速寻径及自动滚屏
与SmartFox Server及ElectroServer等第三方即时通信服务器通信
聊天历史、表情图标等
官方网址: http://www.theoworlds.com/*
运行环境: Flash Player 8 及以上版本
开发环境: Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
相关演示:
场景演示 ( http://www.theoworlds.com/labs/09/* )
地图编辑器演示 ( http://www.theoworlds.com/mapeditor/* )
以上为大家介绍了一些流行的Flash 2D游戏引擎,希望大家能在开发中获益。后期将为大家介绍Flash游戏相关的物理引擎、人工智能、UI、音效等第三方API,请关注。
从本篇开始,将为大家介绍Flash游戏相关的引擎、框架及实用API,方便开发者快速的选择适合自己项目的工具,创建精彩的Flash游戏。
FLIXEL 位图引擎
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig01.png)
Flixel是我非常喜欢的开源位图引擎。作者运用ActionScript的Bitmap创建了这个全位图引擎,所谓全位图,就是游戏场景中所有元件最终均绘制在一个位图对象上,在游戏过程中每帧进行重绘。也正因为如此,此引擎非常擅长处理同屏同时出现大量的游戏元件,其高效的渲染会让你激动不已。当你需要创建2D卷轴游戏或者场景中需要大量运动元素的游戏,Flixel引擎是你的首选。
Flixel还具有一些不错的特性:
采用QuadTree的对象链,高效的碰撞检测
位图动画Sprite
通过文本及图片创建Tiles地图
简单易用的粒子系统
高效的滚屏
自定义的鼠标光标
方便的debug显示终端
此外在引擎开发者论坛中,还有用户将此引擎移植到Android平台上。
官方网址: http://www.flixel.org/*
运行环境: ActionScript 3,Flash Player 9 及以上版本
开发环境: Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
典型案例:
Canabalt ( http://adamatomic.com/canabalt/* ) 这个游戏在作者的网站上每月会消耗2.5T的流量,可见流行的程度。游戏中高速流畅的滚屏会让你惊叹Flash的效率。此游戏还移植到iOS上,并在App Store中销量不菲。
Omega Crisis ( http://www.kongregate.com/games/lucidrine/omega-crisis* ) 这个塔防类游戏,画面、游戏性与操作性都相当不错。
更多采用此引擎的游戏展示: http://flixel.org/games/*
PUSHBUTTON ENGINE
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig02.jpg)
PushButton是一个开源的Flash游戏引擎,其实它更像一个游戏框架。引擎由ActionScript 3开发,需要Flash Player 9及以上的运行环境。官方还提供与游戏构建相关的组件,例如Box2D,Rendering2D等。同时在引擎中包含了资源管理、日志、调试监控、线程及时间管理等功能。
开发者可以运用这套框架按模块方式集成各种渲染模块、物理模块、网络通信模块来创建游戏。
官方网址: http://pushbuttonengine.com/*
运行环境: ActionScript 3,Flash Player 9 及以上版本
开发环境: Flash CS4及以上版本,Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
典型案例:
Social City ( http://pushbuttonlabs.com/games/social-city/* )
这个在Facebook上月活跃用户超过一千万的游戏,采用了PushButton引擎。
The Incredible Machine Mega Pack (http://www.gog.com/en/gamecard/the_incredible_machine_mega_pack*)
不可思议的机器系列想必大家不陌生,这个版本的近400兆大小的单机游戏也出自该引擎。
FLASHPUNK 引擎
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig03.jpg)
FlashPunk同样是个针对位图的开源引擎。它具有清晰的框架以及创建游戏需要的动画、碰撞等类库,让开发者更专注与游戏的设计与测试中。
其主要特性包括:
相对独立与固定的帧频时间步长控制
像素、矩形区及网格的碰撞检测
高效的运动tweening
Z-sorted的渲染列表,方便深度排序
高效的粒子系统
官方网址: http://flashpunk.net/*
运行环境: ActionScript 3,Flash Player 9 及以上版本
开发环境: Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
典型案例:
Tiny Hawk ( http://www.kongregate.com/games/pekuja/tiny-hawk* )
类似超级玛丽,不过这次你脚下踩着的是滑板,一共32关。
Mr. Fat Snake ( http://www.kongregate.com/games/ReviveGames/mr-fat-snake?acomplete=mr+fat+snake* )
贪吃蛇的横轴飞速版。
更多采用此引擎的游戏展示: http://flashpunk.net/?p=games*
还有大量的开发者运用Flash创建2.5D的游戏,所谓2.5D,我们也称之为Isometric,也就是游戏视角采取倾斜视角(如斜45度角等),以平面的方式展现固定视角的3D效果。目前很多网页游戏均采用2.5D的方式。
需要注意的是,前面为大家介绍的位图2D引擎同样可以用来开发2.5D游戏。
接下来为大家介绍几个专注于2.5D开发的引擎。运用这些引擎,你可以把一些烦人的2.5D相关的坐标转换交给引擎处理,专注在你的游戏逻辑及设计上。
AS3ISOLIB - 开源的2.5D库
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig04.jpg)
As3isolib是一个基于ActionScript 3的 Isometric库,开发者运用它可以方便的开发2.5D的游戏或应用。其主要特性包括:
简易的2.5D场景创建方式
方便的于各种缓动(tween)引擎交互
增强的2.5D元件深度排序
场景显示渲染的性能优化
官方网址: http://code.google.com/p/as3isolib/*
运行环境: ActionScript 3,Flash Player 9 及以上版本
开发环境: Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
典型案例:
Zex Lex Duel ( http://apps.facebook.com/cp_zexlexduel/* )
Facebook上的一个机器对战小游戏 。
Down Town ( http://apps.facebook.com/downtowngame/* )
Facebook上的虚拟城市交友。
另外,还有开发者将这个2.5D的库制作成 PushButton引擎的一个组件。
http://code.google.com/p/pushbutton-ooo-extras/*
OPENSPACE - 多人虚拟世界引擎
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig05.png)
OpenSpace是一个非常不错的引擎,用户可以非常快速方便的创建2.5D游戏。配合该公司的另外一款通信服务器SmartFoxServer,可以搭建多人实时交互的虚拟场景。
其特点包括:
完善的地图编辑方式
可缩放的场景
自定义地图滚屏方式
自定义的游戏角色
地图自动寻径
官方网址: http://www.openspace-engine.com/*
运行环境: ActionScript 3,Flash Player 9 及以上版本 开发环境:Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
典型案例:
The Settlers – My City ( http://apps.facebook.com/tsmycity* )
殖民者的网页版,你可以创建属于自己的殖民国 。
Petpet Park ( http://www.petpetpark.com/* )
很可爱的宠物公园虚拟社区。
更多的案例展示: http://www.openspace-engine.com/showcase*
THEOWORLDS – 快速开发2.5D游戏的商业套件
![](http://www.adobe.com/content/dam/Adobe/cn/devnet/flash/articles/flashgame_engines_frame/fig06.jpg)
TheoWorlds 除了包含Iso引擎之外,还包含聊天、地图编辑器等组件,可以帮助开发者快速的开发2.5D的虚拟世界。
主要特性有:
8方向的运动角色
自定义角色形象
自定义角色动作
快速寻径及自动滚屏
与SmartFox Server及ElectroServer等第三方即时通信服务器通信
聊天历史、表情图标等
官方网址: http://www.theoworlds.com/*
运行环境: Flash Player 8 及以上版本
开发环境: Flex(Flash)Builder,FlashDevelop及其他ActionScript开发环境。
相关演示:
场景演示 ( http://www.theoworlds.com/labs/09/* )
地图编辑器演示 ( http://www.theoworlds.com/mapeditor/* )
以上为大家介绍了一些流行的Flash 2D游戏引擎,希望大家能在开发中获益。后期将为大家介绍Flash游戏相关的物理引擎、人工智能、UI、音效等第三方API,请关注。
相关文章推荐
- 快速创建精彩的Flash游戏 (二) Flash3D游戏引擎简介 .
- 快速创建精彩的Flash游戏(一) Flash2D游戏引擎简介
- 快速创建精彩的Flash游戏 (二) Flash3D引擎简介
- 快速创建精彩的Flash游戏 (二) Flash3D游戏引擎简介
- 介绍几个 flash 游戏框架/engine
- flash开源游戏引擎pushButton学习笔记(5)----以xml组装游戏
- cocos2d-x游戏引擎基础知识介绍(一)
- Unity3D 游戏引擎之构建游戏框架与导出IOS项目(一)
- RDIFramework.NET ━ .NET快速信息化系统开发框架 ━ 工作流程组件介绍
- 五大开源游戏引擎介绍
- 开源3D&2D游戏开发引擎之GoDot简单介绍(一)
- cocos2d-android游戏引擎介绍、下载
- Spark(火花)快速、通用的大数据处理引擎框架
- Cocos2d-X游戏【泰然网《跑酷》】JS到C++移植2:如何新建一个项目,引擎目录结构介绍
- flash 2.5D游戏引擎,开源,带全套源码 附送2个小游戏
- 基于cocos2d-x引擎的游戏框架设计
- 基于cocos2d-x引擎的游戏框架设计
- 打造轻量级Windows Phone7 游戏引擎-Samurai 第五话 使用Samurai创建游戏
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第六课: Cocos2D-X引擎框架1
- [Android引擎]Android游戏框架AndE…