安卓2D游戏开发

22

我想开始开发一款用于Android的2D游戏,但我不知道从哪里入手。例如,愤怒的小鸟游戏是如何开发的呢?我猜可能是使用了2D引擎或类似的东西吗?

有人能为我解惑吗?我对此毫无头绪,对于应该首先寻找什么也没有任何想法。


1
我已经做了大约30分钟了,想尝试在这里问一下。我对游戏开发一窍不通,以前从未尝试过,甚至没有找到有关此事的信息。 - AndreiBogdan
你可能会对这本书感兴趣:“Android Arcade Game App: A Real World Project - Case Study Approach”。 - David Koelle
可能是[Android 2D游戏开发无引擎]的重复问题(https://dev59.com/fmPVa4cB1Zd3GeqP2hkF) - Rohit Gupta
8个回答

13

我广泛使用了AndEngine,我真的很喜欢它,但是

2D游戏-除非你有一些非常复杂的想法(大量物理和碰撞检测),否则我建议你考虑在普通的HTML中创建它们(具体来说是HTML5)。

为什么?

因为HTML5几乎可以在任何地方工作,并且有一些非常不错的工具包,可以制作更复杂的东西(包括关卡编辑器和基本物理学内容)。

此外,您可以将HTML5转换为Android、iOS和其他平台的应用程序-例如,您的游戏将在几乎所有地方都能正常运行,而只需最少的额外努力。使用像Cordova(phonegap)这样的工具甚至允许您从HTML5代码创建的应用程序中访问诸如相机和倾斜传感器之类的东西(Android上的Dolphin浏览器甚至允许这些应用程序在浏览器中运行!)

如果您确实想要更高级的东西,Corona相当不错且易于学习,也是跨平台的-如果您愿意被困在Android上,那么Andengine也很棒!


3
到处都可以看到建议使用OpenGL来提高性能,而你建议使用WebView和JavaScript?那个场景有多少帧每秒?或者绘制粒子效果需要多少秒每帧?垃圾回收器怎么处理? - user529543
如果您能添加一个基于HTML5的开源2D游戏(基础版)的参考,那将会非常有帮助,这可以消除一些恐惧。 - kiranpradeep

11

1
同意,我也使用LibGdx,它非常棒。 - mewiki

9

2
请注意,Angry Birds 游戏也使用了 box2d 物理库,因此该游戏并非完全从头开始编写。 - Jimmar

7

2
链接已经失效 :( - thomasb

6

我建议使用AndEngine。他们有一个非常好的论坛,而且他们的示例代码几乎是自说明的。

如果你正在寻找入门的方法,请遵循这个tutorial

选择AndEngine吧!


2
Felgo是一个跨平台的2D游戏引擎,提供了适合各种技能水平的教程。该网站(felgo.com)已经有一个使用Felgo制作的开源愤怒的小鸟克隆版本。此外,它还提供了准备好的游戏模板,适用于最成功的游戏类型,如塔防、平台游戏或益智游戏,并提供可重复使用的组件来处理多个显示分辨率和纵横比、动画、粒子、物理、多点触控、手势、寻路等,以便在几天内原型制作和构建游戏。API参考也可以在API reference中找到。

1

我已经在另一篇文章中回答了类似的问题:Android 2D游戏开发无需引擎

我在http://www.youtube.com/watch?v=PnnHGCKrIzw发布了一个教程

假设您熟悉Java、Eclipse(或类似编译器)、Google API等。以下是构建完整的2D Android游戏的步骤:

  1. 使用drawable-nodpi作为精灵图像(可使精灵大小在各种屏幕密度和尺寸上保持一致)

  2. 使用不同的布局来支持各种屏幕尺寸(例如layout-large、layout-xlarge等)

  3. 使用TranslateAnimation和ObjectAnimator在屏幕上动画移动精灵

  4. 使用数学计算精灵的碰撞(例如屏幕坐标和精灵位置等)

  5. 使用处理程序和条件语句来控制游戏事件

你可以通过在Google Play上查看游戏Yum Yum Pow来测试遵循上述开发2D Android游戏指南的结果。免费的限制版本也可在Google Play上下载:

https://play.google.com/store/apps/details?id=com.wildroid.yum.yum.pow.limited


这个 YouTube 链接不是教程,而是广告。 - Cloud

1

设计一个好的游戏需要大量的创意。这绝对不像处理一个参考应用程序那么简单。可用的资源将赋予您创建类似游戏的能力,因此简单的答案是“是”。有可视化工具(只需在Google上搜索Android 2D OpenGL!),但最强大的方法始终是回到ADT和Eclipse :) - bunbun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接