- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我要在 iOS 或 Android 上制作塔防之类的游戏,我是否需要广泛使用 OpenGL ES?或者我只是使用纹理而不使用其他功能,如几何变换、闪电、绘制原始形状等?其次,如果我只使用 sprite-sheet 来制作游戏动画,我是否可以在不使用 OpenGL ES 的情况下坚持使用 native 平台提供的库?例如在 iOS 上,使用 UIImageView 类动画方法执行动画。
最佳答案
这是一个如此复杂的问题,您几乎不会得到结论性的答案。
简而言之:根本不需要接触 OpenGL 就可以玩游戏。
您描述的每种方法都可行,但各有优缺点。 Android 内置框架的简短介绍:
使用标准 View (如 FrameLayouts):该框架可以完成您的大部分工作(动画、z 排序等),但您会经常遇到奇怪的布局错误和令人惊讶的性能下降。这是因为您实际上是在细读游戏的 UI 框架。然而,对于一个非常简单的游戏来说,这可能是正确的做法。
使用 Canvas 绘画:Android 中包含一个良好且相当快速的 2D 图形库。您可以将它用于游戏,它将为许多游戏提供足够的性能。然而,您必须自己做更多事情(例如,z 排序、动画)并且一些高端效果仍然不可能
OpenGL ES:最佳性能,最多选择。祝你好运,从头开始,即使是最简单的内容出现在屏幕上之前,也有很多要做的事情。另一方面,您可以做其他方法几乎不可能完成的事情。此外,还可以为多个平台重用部分代码。
Renderscript:根据我的经验,学习曲线比直接使用 OpenGL 更糟糕。
简而言之,首先设计游戏,然后决定哪个框架能够提供足够的功能而不至于太复杂。
最后:想想不要自己做所有管道,而是看看现有的游戏引擎(例如 Unity)。几乎所有你需要的东西都会在那里;此外,其中一些引擎甚至可以跨平台工作:一次编写您的游戏,然后在 iOS 和 Android 上发布!
关于java - 用于在 iOS/android 上为塔防等 2D 游戏制作动画的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12390237/
我正在使用 Slick2D 库用 Java 制作塔防游戏。我的子弹数学有问题。现在子弹将在敌人当前的 X,Y 坐标之后射击 - 但由于当子弹到达 X,Y 时敌人已经移动,因此它会落后。除了加快子弹速度
我已经实现了泛洪填充算法,该算法采用带有路径的数组 [15*15] 并生成他在填充路径时所采取的步骤队列。 tl;dr 它看起来像这样 std::queue f_path; void Enemy::
这是我的代码: func bombTowerTurnShoot() { var prevDistance:CGFloat = 1000000 var closesetZombie =
我正在写一个简单的塔防,我卡在了我的塔必须射击敌人的地方。 使用这段代码: void Bullet::move(int x, int y, int speed) { Punkt delta =
我是一名优秀的程序员,十分优秀!