对于实时游戏,我应该经常使用核心动画还是重绘图像?

时间:2010-12-01 22:09:06

标签: iphone objective-c core-animation

假设我必须根据用户输入在屏幕上移动图像....

我应该吗?

  • 定期使用核心动画以小块为动画制作动画。

或者

  • 经常在不同位置重绘图像。

如果没有明确答案,使用每种方法有什么好处?

2 个答案:

答案 0 :(得分:7)

核心动画是为您而制作的。 Core Animation的重点是在屏幕上快速移动图像。当图像的实际内容没有改变时,Core Animation的效果会更好。

编辑:重绘图像不太可取,因为

  • 如果您使用Quartz重绘图像并覆盖drawRect:您将依靠CPU绘制所有这些图像
  • 如果您使用OpenGL并使用GPU加速您的应用程序 - 仅使用它来将图像绘制到屏幕上并移动它们 - 您已经复制了Core Animation的功能
  • Core Animation内置了动画原语

答案 1 :(得分:4)

CoreAnimation通常不用于游戏编程,并且没有通常用于制作真实可玩游戏的性能特征。您可以使用CoreAnimation轻松制作一个非常基本的游戏,但很可能在某些时候您会遇到这些性能限制,此时您可能需要使用真正的游戏引擎重写您的代码库。

要明确的是,CoreAnimation非常棒,非常适合创建它的任务,即应用程序UI开发。但是,在游戏中使用精灵墙之前,它在精灵数量和大小方面并不需要太多。我这样说是因为我试过了。

我的建议是使用iOS上提供的一种简单的,现成的游戏引擎,如Cocos2D来编写游戏。对于相对初学者来说这很容易,但在性能特征和API方面更适合游戏开发。