如何为Android创建一个简单的2D游戏?

时间:2014-04-24 16:01:16

标签: android game-engine game-physics

在游戏开发方面,我是一个完全新手,我需要有人指出我正确的方向。
为清楚起见,请考虑以下动画。 simple zombie game animation

基本上我需要知道如何将上述动画模仿为Android游戏,但我不知道必要的步骤。我的问题可归纳如下:

  • 我是否需要将游戏引擎用于此类简单游戏?
  • 或者可以在不使用任何特定框架的情况下完成?
  • 我是否需要使用Adobe Flash等动画应用程序?
  • 制作此类游戏的必要步骤是什么?

4 个答案:

答案 0 :(得分:38)

优先使用游戏引擎。这将取决于你究竟是在追求什么。如果你想了解渲染,碰撞检测等基本概念,那么自己编写这些概念是完全可以接受的,并且非常有趣。另一方面,如果您只是想在不必担心细节的情况下完成游戏,那么引擎绝对是您的选择。

游戏引擎的范围从非常基本的包装器(通常提供更容易处理低级别任务的功能)到高度复杂的抽象,其中实际游戏开发不再像任何特定平台 - 它们有时也允许您创建游戏一旦将其部署到各种平台而不做任何更改。

要根据该动画实施游戏,您可以使用以下内容:

  • 对于每个非玩家角色,创建一系列连续的“框架”,循环时会产生运动的错觉。这些可以在任何图形应用程序中创建(最好在纹理贴图/地图集中)。
  • 对于玩家角色,每个“移动”都需要一个动画序列,例如kickpunch等。然后当玩家触发某个动作时播放正确的序列(例如,当玩家按下踢球按钮时播放kick序列。)
  • 每个角色都应该有一个边界框(即一个定义角色大小和位置的矩形)。根据攻击类型,玩家角色可能应该有一个不同大小的框(即kick动作的框将比punch动作的框更向右延伸。
  • 在屏幕右侧随机生成字符并以某种速度(基于类型?)向播放器移动它们。在每次迭代期间,测试玩家与每个非玩家的边界框之间的碰撞。如果发现碰撞,请检查玩家是否正在踢或击打并杀死被击中的角色,如果玩家没有进行攻击可能会伤害他/她。

这是对您的问题的一个非常基本的描述,应该给您足够的想法进行研究以实现基本版本:)

您可能希望了解一些游戏引擎:

如果您有兴趣了解专门制作安卓游戏,请查看本书:

答案 1 :(得分:18)

有很多游戏引擎可以帮助你完成工作。

以下是所有移动游戏引擎的 link


Android 2D游戏引擎

Cocos2D-x

语言:C ++

方向:2D

难度:中级


Corona SDK

语言:Lua

方向:2D / 3D

难度:中级


EDGELIB

语言:C ++

方向:2D

难度:中级


GameMaker

语言:无(图形)

方向:2D

难度:容易


GameSalad

语言:无(图形)

方向:2D

难度:容易


HaxeFlixel

语言:Haxe

方向:2D

难度:中级


libGDX

语言:Java

方向:2D / 3D

难度:中级


Marmalade

语言:C ++

方向:2D / 3D

难度:中级


Stencyl

语言:ActionScript(可选),Objective-C(可选)

方向:2D

难度:中级


Unity3D

语言:JavaScript(实际上是UnityScript),C#(Mono)

方向:2D / 3D

难度:中级

答案 2 :(得分:2)

我按你要求的顺序回答

  1. 建议始终使用引擎,因为它们使工作变得更容易,这就是它们的用途。

  2. 您可以在没有框架的情况下进行某些动画和动作,但实际上代码和逻辑变得更加复杂。

  3. Adob​​e Flash在Android上无用。大多数Android设备在没有用户做某些事情的情况下不运行Flash。

  4. 我推荐的步骤是

    • 研究一些引擎
    • 审核一些框架
    • 根据游戏逻辑选择和引擎
  5. 有些引擎适用于冒险游戏,谜题和其他RPG游戏。根据您的需要选择一个。

  6. 一些简单的程序:

    • App Game Kit
    • 适用于Android的Cocos2d
    • Corona SDK
    • GameMaker
    • Stencyl

    你可以从这些开始。 Unity是最好的引擎,但也是最复杂的。

答案 3 :(得分:0)

我问自己这个问题大约10年才找到一个好答案,在我看来,Android的所有游戏框架仍然不是很成熟或者有点难以实现。我建议你使用this。你将能够在所有设备上运行你的游戏(不仅仅是android)。如果了解基础知识,这很容易学习。

这是一个很棒的Tutorial让你入门!

我使用adobe的技术制作了游戏,你可以查看here