在游戏中为每个级别实现保存的幽灵

时间:2010-12-09 15:47:29

标签: iphone algorithm data-structures

我正在为iPhone开发视频游戏。我希望每个级别都能保存最佳跑步的“鬼魂”,就像在Mario Kart中一样。

我已经实现了它,但我使用了一种蛮力方法,每帧(每秒60个)存储(x,y,旋转)值。毋庸置疑,这是非常昂贵的,特别是对于移动设备。

我想我可以更少地存储数据并在渲染鬼时进行插值,但我不是百分之百确定如何做到这一点以及它是否会看起来很好。

以前有人这样做过吗?你会如何实现它?有标准方法吗?

1 个答案:

答案 0 :(得分:1)

线性插值非常简单,如果这就是你想要的。但是如果想要插入的物体可以具有非线性轨迹(来自弹道或横向加速效果),那么事情会变得更加复杂。

最简单的方法是记录物体的初始位置及其运动矢量(x,y,z速度,每个时间单位的偏移量)。在更改速度和/或方向之前,您不必再为该对象记录它。然后你只记录经过的时间,新的位置和新的运动向量(理论上你不必再次记录位置,只需要向量,但我建议这样做有一个检查值 - 在程序之后调试你可以丢弃它)。 然后播放将对象放置在原始位置,并为每个时间帧添加移动偏移,直到达到下一个记录位置的时间。等等。