我正在 iPhone 上制作等距游戏,需要一些帮助。计算一个物体从一块瓷砖扔到另一块瓷砖时必须走的路径的最佳方法是什么?我一直在研究使用 NSBezierPaths,但不能完全弄清楚如何将它们用于对象路径?任何帮助将不胜感激!
ben
问问题
645 次
1 回答
0
我建议不要使用矢量图形 (NSBezierPath) 来完成您需要完成的任务。
您可以使用 CGPoint 来表示每个游戏对象的位置(假设这是一个 2D 游戏)。(将此结构放在 GameObject 类中)。
struct objectPhysics
{
CGPoint position;
CGPoint velocity;
}
使用速度和方向向量来计算对象的轨迹。假设以下是向量:
position = position * velocity * timeDifference;
当事件发生时(例如用户单击对象或检测到碰撞),将速度矢量设置为值 (1, 0.5) 或其他值,这意味着每帧在 X 方向上移动 +1,在 Y 方向上移动 0.5 (或时间单位,如果你有“* timeDifference”)。
您应该查看此站点以获取有关开始游戏编程的提示以及计算您需要加速的方向所需的一些矢量数学。
时间差是衡量自上一帧用于确保对象移动正确的距离以与您的帧速率保持同步以来已经过去了多少时间。
于 2009-09-06T17:17:31.153 回答