对物体施加摩擦力

时间:2011-05-14 13:09:47

标签: iphone objective-c cocoa-touch physics

我有一个球在屏幕上移动,这取决于我的手机倾斜的方式。如何对球施加摩擦力,这样当手机平放时,球最终会停止?

3 个答案:

答案 0 :(得分:2)

在不知道你的模型的详细程度或你的确切方法的情况下,我会说最好的方法是将摩擦视为一个具有小恒定幅度的向量,并始终指向与球相对的方向速度矢量。您可以通过实验为不同的模拟表面类型提供合适的幅度值。每次更新球的位置和速度时,只需在计算中包含此摩擦矢量即可。

答案 1 :(得分:1)

摩擦力是一种与运动相反的力,所以你只需要创建一个表示摩擦力的向量,该向量指向速度向量的相反方向。

摩擦矢量的大小决定了物体停止的速度。它是一个基于移动物体的材料和它正在移动的东西的常数值。只要做一些看起来很适合你的目的。

将摩擦矢量添加到加速度矢量(当iphone在桌面上平放时为零)。现在只需像往常一样进行插值,最终会使对象停止移动。

(顺便说一句,当物体不移动时,摩擦矢量应设为零)

答案 2 :(得分:0)

最好使用Box2d获取物理运动

在box2d中获取摩擦......

使用此

b2fixtureDef *fd;
fd->friction = 0.7;(or whatever)