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

在游戏开发方面,我是一个完全新手,我需要有人指点我正确的方向。
为了清晰起见,请考虑以下animation。 简单的僵尸游戏动画

基本上我需要知道如何模拟上述animation作为一个Android游戏,但我不知道这样做的必要步骤。 我的问题可以概括如下:

  • 我是否需要使用游戏引擎来进行这样简单的游戏?
  • 或者可以不使用任何特定的框架呢?
  • 我是否需要使用Adobe Flash等animation应用程序?
  • 做这种游戏有什么必要的步骤?

是否使用游戏引擎是一种偏好。 这将取决于你究竟是什么。 如果你想了解渲染,碰撞检测等基本概念,那么自己写这些是完全可以接受的,而且很有趣。 另一方面,如果你只是想让游戏完成,而不必担心细节,那么引擎肯定是要走的路。

游戏引擎的范围从非常基本的包装(通常提供更简单的function,照顾低级任务)到高度复杂的抽象,其中实际的游戏开发不再类似于任何特定的平台 – 它们有时也允许您创build游戏一次并部署它到各种平台没有任何改变。

要实现基于该animation的游戏,您可以使用以下内容:

  • 对于每个非玩家angular色来说,创build一系列连续的“帧”,当循环时给出移动幻觉。 这些可以在任何graphics应用程序中创build(最好在纹理贴图/图集中)。
  • 对于玩家angular色,您需要为每个“移动”设置一个animation序列,例如kickpunch等。然后在玩家触发某个动作时播放正确的序列(例如,当玩家按下踢button时播放kick序列)。
  • 每个字符都应该有一个边界框(即一个定义字符大小和位置的矩形)。 基于攻击types,玩家angular色可能应该具有不同大小的框(即, kick动作的框比向punch动作的框延伸得更远。
  • 随机产生屏幕右侧的字符,并以某种速度(基于types?)向玩家移动。 在每次迭代期间,testing玩家与每个非玩家边界框之间的碰撞。 如果发现碰撞,请检查玩家是踢还是冲,并杀死被击中的angular色,如果玩家没有进攻,可能会伤害他/她。

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

一些游戏引擎你可能想看看:

  • Andengine
  • LibGDX
  • 统一

如果您有兴趣专门学习制作Android游戏,请看这本书:

  • 开始Android游戏

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

这里是所有移动游戏引擎的链接


Android 2D游戏引擎

的Cocos2D-X

语言:C ++

方向:2D

难度:中级


Corona SDK

语言:Lua

定位:2D / 3D

难度:中级


EDGELIB

语言:C ++

方向:2D

难度:中级


GameMaker

语言:无(graphics)

方向:2D

难度:容易


GameSalad的

语言:无(graphics)

方向:2D

难度:容易


HaxeFlixel

语言:Haxe

方向:2D

难度:中级


libGDX

语言:Java

定位:2D / 3D

难度:中级


果酱

语言:C ++

定位:2D / 3D

难度:中级


Stencyl

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

方向:2D

难度:中级


Unity3D

语言:JavaScript(实际上是UnityScript),C#(单声道)

定位:2D / 3D

难度:中级

我按你问的顺序回答

  1. build议始终使用引擎,因为它们使工作更容易,这就是他们的目的。

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

  3. Adobe Flash在android上是无用的。 大多数的Android设备不运行Flash,用户不需要做一些事情就可以得到它。

  4. 我推荐的步骤是

    • 研究一些引擎
    • 回顾一些框架
    • select和引擎取决于你的游戏的逻辑
  5. 一些引擎可用于冒险游戏,谜题和其他RPG游戏。 根据你的需要去一个。

几个简单的程序:

  • 应用游戏工具包
  • 适用于Android的Cocos2d
  • Corona SDK
  • GameMaker
  • Stencyl

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

我问了自己这个问题大概10年后才find一个好的答案,在我看来,所有Android的游戏框架还不够成熟或有点难以实现。 我会build议你使用这个 。 你可以在所有设备上运行你的游戏(不仅仅是android)。 如果知道基础知识,学习起来相当容易。

这是一个很好的教程 ,让你开始!

我做了一个游戏,使用Adobe的技术,你可以在这里查看 。