代码之家  ›  专栏  ›  技术社区  ›  RyJ

流畅的iphone动画ala植物大战僵尸

  •  3
  • RyJ  · 技术社区  · 15 年前

    如果你玩过植物大战僵尸,你就会看到角色动画是多么流畅和非凡。有人能想象他们是怎么做的吗?它们似乎并不是简单地设置位图的动画;即使角色旋转和缩放,动画也过于清晰。这件艺术品看起来是矢量的,但我不能想象所有的东西都是用核心图形绘制出来的。有什么想法吗?

    4 回复  |  直到 15 年前
        1
  •  3
  •   Noah Witherspoon    15 年前

    我的猜测是:opengl。Core Graphics在iPhone上的性能无法在该细节级别上实现实时矢量图形。粗略地看一下pvz图形,我认为他们使用的是植物和僵尸身体的单独位图partsa peashooter,例如,可能由一个底座、一对附在上面的叶子、一个头部和一个茎(作为“头部”bob来回倾斜)组成。换言之,位图本身并没有改变;它们只是相对地移动和旋转,这是opengl非常适合的。

        2
  •  1
  •   heckj    15 年前

    如果你想做更激烈,平滑的图形,动态地响应用户的输入(如游戏般的pvz),opengl就是这样做的。不是动态绘制图像和图形最终会让您丧命,而是当您在objective-c运行时将细节放入一个开放的运行循环(即核心动画和uikit编程)时,事件循环的开销。

        3
  •  1
  •   Colin Gislason    15 年前

    正如其他人所指出的,他们可能使用opengl或运行在opengl之上的游戏引擎。

    如果你想达到这样的目标,我建议你 cocos2d for iPhone . 它建立在opengl之上,但使用objective-c,面向2d游戏。因此,它提供了sprite工作表支持、粒子系统、操作、视觉效果等。

        4
  •  0
  •   Sneakyness    15 年前

    你完全可以用CoreGraphics和Spritesheets来实现这一点。