Java 在iOS/android上制作二维游戏(如Tower Defense)动画的方法

Java 在iOS/android上制作二维游戏(如Tower Defense)动画的方法,java,android,ios,animation,graphics,Java,Android,Ios,Animation,Graphics,如果我要在iOS或Android上制作一个类似塔防的游戏,我需要广泛使用OpenGL ES吗?或者我只是使用纹理,而没有使用其他功能,如几何变换、闪电、绘制原始形状等? 第二,如果我只使用sprite表来制作游戏动画,我可以坚持使用本机平台提供的库而不使用OpenGL ES吗?例如,在iOS上,使用UIImageView类动画方法执行动画。这是一个非常复杂的问题,您很难得到结论性的答案 简而言之:做游戏根本不需要触摸OpenGL 你所描述的每一种方法都是可行的,但各有利弊。Android上内置框

如果我要在iOS或Android上制作一个类似塔防的游戏,我需要广泛使用OpenGL ES吗?或者我只是使用纹理,而没有使用其他功能,如几何变换、闪电、绘制原始形状等?
第二,如果我只使用sprite表来制作游戏动画,我可以坚持使用本机平台提供的库而不使用OpenGL ES吗?例如,在iOS上,使用UIImageView类动画方法执行动画。

这是一个非常复杂的问题,您很难得到结论性的答案

简而言之:做游戏根本不需要触摸OpenGL

你所描述的每一种方法都是可行的,但各有利弊。Android上内置框架的简短说明:

  • 使用标准视图(如框架布局):框架可以完成大部分工作(动画、z排序等),但您会经常遇到奇怪的布局错误和令人惊讶的性能问题。这是因为您实际上是在阅读游戏的UI框架。然而,对于一个非常简单的游戏来说,这可能是正确的选择

  • 使用画布绘制:Android在其中包含了一个很好且速度相当快的2D图形库。您可以将其用于游戏,它将为许多游戏提供足够的性能。但是,您必须自己做更多的工作(例如,z排序、动画),一些高端效果仍然不可能实现

  • OpenGL ES:最佳性能,最多选择。祝你好运,从零开始,在屏幕上显示最简单的内容之前,还有很多事情要做。另一方面,你可以做一些其他方法几乎不可能做到的事情。此外,还可以为多个平台重用部分代码

  • Renderscript:根据我的经验,这比直接使用OpenGL更糟糕,因为学习曲线更陡峭

  • 简言之,首先设计游戏,然后决定哪个框架提供足够的功能,而不是过于复杂

    最后:考虑一下不要自己做所有的管道,而是看看现有的游戏引擎(例如)。几乎任何你需要的东西都会在里面;此外,有些引擎甚至可以跨平台工作:编写一次游戏,在iOS和Android上发布