在本文中,我们探讨了几种游戏引擎和框架,重点介绍了它们各自提供的一些关键优势。读完本文后,您将有多种选择来做出下一个大热门。请注意,我们仅关注这些平台的 2d 方面。让我们开始吧。
1.Cocos2D
Cocos2d 是一个免费的开源框架,与 Swift 和 Objective-C 兼容。它支持 iOS 和 OS X,如果您的代码是用 Objective-C 编写的,它还通过 SpriteBuilder Android 插件支持 Android。对 Android 的 Swift 支持正在开发中。
Cocos2d 中的项目是通过 SpriteBuilder 创建的,SpriteBuilder 是一个图形设计环境,可用于快速原型设计和构建游戏。您不需要使用 SpriteBuilder 来构建游戏,但是,项目创建必须通过 SpriteBuilder 完成。
场景管理是通过 CCDirector 类完成的,它可以通过 CCTransition 类。它通过 CCAnimation 类提供动画,并通过其 CCAction 类提供移动、缩放和旋转等操作。 Cocos2d 通过 CCParticleSystem 类支持粒子系统,并通过 CCTiledMap 类支持切片地图。
Cocos2d 也使用 OpenGL 作为其渲染引擎。它使用花栗鼠作为其物理引擎。如果您喜欢 Objective-C 或 Swift,并且想要为多个平台(iOS 和 Android)进行开发,那么 Cocos2d 是一个值得考虑的框架。
2. Cocos2d-x
Cocos2d-x 是 Cocos2d 的 C++ 端口,可以编译到许多其他平台。 Cocos2d-x 可以编译到 iOS、Android、Windows Phone、OS X、Windows 和 Linux。
Cocos2d-x 不附带 SpriteBuilder。不过,它确实有一些有趣的项目,比如 Cocos Creator,它提供了框架、场景编辑、调试、游戏预览和发布到多个平台的功能。
3.统一
Unity 是一款支持 C# 和 UnityScript 的移动游戏引擎,UnityScript 是一种专为 Unity 设计并以 JavaScript 为模型的语言。它是跨平台的,可以部署到许多平台,包括 PlayStation 和 Xbox。有免费版和提供更多功能的专业版。更多信息请访问 Unity 网站。
有一个内置的精灵编辑器,您可以在其中直观地切片图像,还有一个动画制作器窗口,可以让您布置和组织动画并向精灵添加关键帧动画。还可以在 Unity 编辑器中直观地设计粒子系统。
Unity 使用自己的专有物理引擎。 Unity 具有内置摄像头,使游戏世界中的导航变得简单。您可以直观地布局场景,Unity 拥有一个包含按钮、滑块和菜单等组件的用户界面系统。 Unity 编辑器中还支持精灵打包。
Unity 是游戏引擎的强大引擎。如果您需要一个能够支持多种设备的跨平台解决方案,并且您更喜欢使用 C# 或 UnityScript 进行编程,那么 Unity 是一个不错的选择。 Unity 的另一项优点是资产商店,您可以在其中查找或购买可在游戏中使用的资产。
4. SpriteKit
SpriteKit 是 Apple 专有的 2D 游戏开发框架。它仅适用于 iOS 和 OS X。SpriteKit 同时支持 Swift 和 Objective-C,即两者的组合。
场景管理是通过 SKView 类完成的,并且 SKTransition 类有各种各样的转换。 SpriteKit 的核心是操作,即 SKAction 类的实例,用于移动、旋转和缩放游戏对象。操作还可以用于播放声音和执行自定义代码。
SpriteKit 有一个场景编辑器,您可以在其中直观地设计游戏的关卡。还提供粒子编辑器,您可以在其中直观地设计粒子系统。有许多预先设计的粒子系统可供使用,例如火和雨。
SpriteKit 使用 Box2D 作为其物理引擎。 SpriteKit 为 Box2D 提供了一个友好的包装器,这使得它非常易于使用。 SpriteKit 还通过 SKCameraNode 类拥有内置摄像头,这使得在游戏世界中导航变得容易。
如果您与 Apple 生态系统紧密相连,那么 SpriteKit 是一个非常好的选择。
5.钛金属
Titanium 是一个使用 JavaScript 作为编程语言的框架。虽然更传统地用于构建应用程序而不是游戏,但它可以成为一个可行的游戏开发平台。在开发过程中可以免费使用。如果您想发布您的游戏,那么您需要许可证。
Titanium 支持 iOS 和 Android 的许多本机控件。这使得动画视图和图像变得容易。我使用 Titanium 构建了一个二十一点游戏,配有动画和漂亮的纸牌翻转效果。
Titanium 的优点之一是下载自定义模块的市场。例如,您可以将 Box2D 模块插入到您的应用程序中。如果您不需要 Box2D 的复杂性,那么使用简单的边界框碰撞系统也可以正常工作。
虽然钛金属对于具有大量移动部件和粒子爆炸的游戏来说并不理想,但将其用于简单的纸牌游戏、问答游戏和具有有限数量移动物体的游戏不仅仅是一个可行的选择。
6. PhoneGap
PhoneGap 允许您利用现有的 HTML、CSS 和 JavaScript 技能并将其打包为移动应用。它的工作方式是在应用程序中嵌入 Web 视图并将您的资源加载到该 Web 视图中。这意味着您可以使用 Canvas API 来创建游戏。
PhoneGap 允许访问本机 API,例如设备的摄像头、麦克风,以及对于游戏开发来说最重要的加速度计。
PhoneGap 的核心非常简单。它采用 HTML 驱动的应用程序,并使用网络视图将其打包为移动应用程序。
我们将介绍另外两个可用于创建 Canvas/WebGL 游戏的 JavaScript 库:Phaser 和 CreateJS。
7. 移相器
Phaser 是一个用于编写 2D 游戏的开源 JavaScript 框架。它使用 Canvas 或 WebGL(如果可用)。
Phaser 支持动画、粒子和补间来移动、缩放和旋转精灵。它内置对图块地图的支持,并根据您的需求使用三种不同的物理引擎。它还具有内置摄像头,让您可以轻松游览游戏世界。
Phaser 有一些可用的插件,包括粒子系统设计器和 Box2D 插件。如果 JavaScript 是您选择的语言,那么 Phaser 与 PhoneGap 结合使用可能是一个不错的选择。
8.CreateJS
CreateJS 是一套包含四个不同开源库的套件:
- EaselJS
- TweenJS
- SoundJS
- 预加载JS
EaselJS 是一个基于 Canvas API 的库,如果可用,它可以使用 WebGL。 TweenJS 专注于补间元素,而 SoundJS 则专注于音频播放。最后但并非最不重要的一点是,PreloadJS 有助于预加载资源。
EaselJS 支持精灵表和过滤器,您可以将它们放置在元素上。如果您需要进行矢量绘图,还有一个 Shape 类。移动、缩放和旋转是通过将 TweenJS 库合并到您的游戏中来完成的。
虽然 CreateJS 没有很多专为游戏开发定制的 API,但它是用 JavaScript 编写的,因此您可以合并任何您需要的额外 JavaScript 库,例如 Box2D 的 JavaScript 端口。我过去成功使用过的一个库是 EaselJS 的碰撞检测库。
我在 Envato Tuts+ 上写了几篇关于 CreateJS 的文章。如果您正在寻找这些库的详细介绍,那么您可能会发现这些很有趣:
- 使用 CreateJS – EaselJS
- 使用 CreateJs:PreloadJS、SoundJS 和 TweenJS
9.虚幻引擎
虚幻引擎是一个使用C++作为编程语言的游戏引擎。它可以免费使用,但有限制。有关更多详细信息,请访问虚幻引擎网站。您可以将游戏部署到 iOS 和 Android。
虚幻引擎还包含一个蓝图编辑器,使您可以直观地编写应用程序脚本,而无需进行编程。该编辑器允许您以可视化方式设计游戏关卡、添加物理模拟、用户界面、动画、视觉效果等。
10. Corona SDK
Corona SDK 是一个使用 Lua 作为脚本语言的软件开发工具包。它可在 Windows 和 OS X 上使用。您可以使用 Corona SDK 免费开发游戏和应用程序,但是 Perk(收购 Corona Labs 的公司)提供了一种企业模型,可以访问本机库/API 和其他一些特征。请访问他们的网站,了解有关定价的更多信息。
Corona SDK 导出到 iOS、Android、Kindle 和 Windows Phone 8。Windows 和 OS X 导出处于内测阶段,即将推出。
Corona Labs 还提供了一些其他有吸引力的功能,例如 Corona Editor、Sublime Text 插件,其中包括调试器、代码完成和其他一些不错的选项。 OS X 上提供的 Composer GUI 为您提供了一个图形环境,您可以在其中设计游戏的关卡并使用 Corona 的物理引擎查看对象如何相互交互。
Corona SDK 使用 OpenGL 作为其渲染引擎,并使用 Box2D 作为物理引擎。它的物理引擎提供了 Box2D 的包装器,这使得它更易于使用。 Corona SDK 包含一千多个 API,您可以使用它们来构建游戏。
它还通过其编写器库进行内置场景管理,并提供出色的过渡库,帮助移动、缩放和旋转游戏的图形资源。
不幸的是,Corona SDK 没有构建精灵图集的选项,并且使用复杂的形状进行物理碰撞检测可能很困难。不过,有一些很棒的第三方应用程序可以缓解这种痛苦,例如纹理打包器和物理编辑器。
总体而言,如果您正在寻找跨平台解决方案并希望轻松使用 Lua 脚本语言,那么 Corona SDK 是一个值得探索的出色 SDK。
11. 吉德罗斯
Gideros 与 Corona 一样,使用 Lua 作为脚本语言。 Gideros 是免费且开源的,它可以编译到 iOS、Android、Windows Phone、OS X、Windows 和 Windows RT。
虽然 Lua 不是一种具有基于类的系统的面向对象编程语言,但 Gideros 提供了基于类的 API,允许开发人员编写干净且可重用的代码。
Gideros 有一个包含各种过渡的场景管理器、一个用于动画的 MovieClip 类,并通过其 GTween 库提供补间,允许您移动、缩放、旋转实体等。 p>
Gideros 与 Corona 一样,使用 Box2D 进行物理处理,尽管 Gideros 的 Box2D API 更接近原始 Box2D API 因此使用起来稍微困难一些。
它提供了一些额外的工具,例如纹理打包工具和字体创建器,可以在安装目录中找到。 Gideros 允许您通过 Wi-Fi 连接在移动设备上即时测试您的项目。
与 Corona 一样,如果您正在寻求使用 Lua 编程语言轻松进行跨平台开发,那么这是一个很棒的平台。
12. AndEngine
AndEngine 是 Android 移动开发框架。它是免费且开源的。然而,正如其名称所暗示的,它仅适用于 Android。 AndEngine 与许多其他移动平台一样,使用 OpenGL 作为其渲染引擎,并通过扩展使用 Box2D 作为其物理引擎。
AndEngine 支持动画精灵、粒子系统,并允许通过实体修改器对实体进行补间。 AndEngine 还提供了 Camera 类,可让您轻松地在游戏世界中移动。
AndEngine 中没有专门的场景管理,但您可以找到大量有关如何构建简单场景管理器的示例。如果您只想发布 Android 应用程序并且 Java 是您选择的语言,那么这个框架是一个不错的选择。
13. libGDX
libGDX是另一个Java游戏开发框架。它是跨平台的,可以编译到 Windows、OS X、Linux、Android、iOS、Blackberry 和 HTML5。 libGDX 还使用 OpenGL 作为其渲染引擎,并利用 Box2D 来模拟物理。
libGDX 有一个 Camera 类、一个用于移动、缩放和旋转对象的 Action 类,以及一个用于显示粒子的 aParticleEmitter 类。它通过 TiledMap 类支持图块地图,该类可与 Tiled 编辑器一起使用。
libGDX 附带了一些额外的工具,例如纹理打包器、粒子编辑器和位图字体生成器。 p>
如果 Java 是您的首选语言,并且您希望创建跨平台游戏,那么 libGDX 是一个值得研究的良好框架。
结论
在本文中,我们介绍了几种游戏开发框架和引擎。您现在应该更好地了解哪些解决方案最适合您的需求以及下一款游戏的需求。感谢您的阅读,希望您觉得这篇文章有用。
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » 为您的下一个项目选择最佳的移动游戏平台