热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

快速创建精彩的Flash游戏(一)Flash2D游戏引擎简介

原文链接:http:xiazhihui321.blog.163.comblogstatic81328893201141851158857AdobeFlash自诞生之日

原文链接:http://xiazhihui321.blog.163.com/blog/static/81328893201141851158857/

 

Adobe Flash自诞生之日就与游戏结下不解之缘。时至今日,无数游戏通过Flash制作并传播,Flash游戏已经从最初的浏览器小游戏,扩展到大型的客户端单机游戏、多人即时互动网页游戏、移动平台游戏等等领域。
从本篇开始,将为大家介绍Flash游戏相关的引擎、框架及实用API,方便开发者快速的选择适合自己项目的工具,创建精彩的Flash游戏。


Flixel 位图引擎



 
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



 
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 引擎



 
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库



 
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 - 多人虚拟世界引擎



 
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游戏的商业套件



 
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,请关注。


推荐阅读
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • OAuth2.0指南
    引言OAuth2.0是一种应用之间彼此访问数据的开源授权协议。比如,一个游戏应用可以访问Facebook的用户数据,或者一个基于地理的应用可以访问Foursquare的用户数据等。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
  • Google在I/O开发者大会详细介绍Android N系统的更新和安全性提升
    Google在2016年的I/O开发者大会上详细介绍了Android N系统的更新和安全性提升。Android N系统在安全方面支持无缝升级更新和修补漏洞,引入了基于文件的数据加密系统和移动版本的Chrome浏览器可以识别恶意网站等新的安全机制。在性能方面,Android N内置了先进的图形处理系统Vulkan,加入了JIT编译器以提高安装效率和减少应用程序的占用空间。此外,Android N还具有自动关闭长时间未使用的后台应用程序来释放系统资源的机制。 ... [详细]
  • 本文介绍了腾讯最近开源的BERT推理模型TurboTransformers,该模型在推理速度上比PyTorch快1~4倍。TurboTransformers采用了分层设计的思想,通过简化问题和加速开发,实现了快速推理能力。同时,文章还探讨了PyTorch在中间层延迟和深度神经网络中存在的问题,并提出了合并计算的解决方案。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • iOS开启Google位置服务器和显示定位权限的方法
    本文介绍了在iOS开发中如何开启Google位置服务器和显示定位权限的方法,包括导入CoreLocation和MapKit库、在界面导入头文件和在info.plist文件中添加授权等步骤。同时还介绍了iOS11中NSLocationAlwaysAndWhenInUseUsageDescription的功能变化。阅读本文可以帮助开发者了解如何在iOS应用中使用Google位置服务器和处理定位权限相关的问题。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • Hello.js 是一个用于连接OAuth2服务的JavascriptRESTFULAPI库,如Go ... [详细]
  • React 小白初入门
    推荐学习:React官方文档:https:react.docschina.orgReact菜鸟教程:https:www.runoob.c ... [详细]
  • 校园表白墙微信小程序,校园小情书、告白墙、论坛,大学表白墙搭建教程
    小程序的名字必须和你微信注册的名称一模一样在后台注册好小程序。mp.wx-union.cn后台域名https。mp.wx-union.cn ... [详细]
  • 移动传感器扫描覆盖摘要:关于传感器网络中的地址覆盖问题,已经做过很多尝试。他们通常归为两类,全覆盖和栅栏覆盖,统称为静态覆盖 ... [详细]
author-avatar
书友70518356
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有