1)施加力的成员函数如下
通过上述方法可以应用一个角冲力。其中参数表示impulse角冲力,单位为kg*m*m/s。
在一个世界点(World Point)施加一个力。如果这个力没有应用于质心,则该力会产生一个旋转的力矩,且影响角速度,该操作会唤醒(Wakes Up)物体。
(2)再看下面的成员函数。
其中参数force表示世界力量向量,单位通常为牛顿(N);参数point表示应用力的点的世界位置(World Position)。
3)再看下面的成员函数
其中参数impulse表示世界冲力向量,单位通常为牛顿\秒(N\S)或千克米每秒(kg·m/s)point表示应用力的点的世界位置。如果在某一点上施加一个冲力,会立即改变速度,并且还会改变角速度,这要看施加力的点在不在质心,该操作会唤醒物体。
(4)再看下面的成员函数。
这样能够应用一个力矩。在没有影响质心线速度的情况下会影响它的角速度。该操作会唤醒物体。其中参数表示torque关于Z轴(窗口范围外),单位牛顿\米(N\m)。
(5)再看下面的成员函数。
(www.xing528.com)
这样能够创建一个形状(Shape)和固定装置(Fixture)并把它附加到物体上。这是一个比较方便的功能。如果需要设置如摩擦(Friction)、恢复度(Restitution)、用户数据、筛选参数(Filtering),请使用b2FixtureDef。如果密度不为0,这个函数会更新物体的质量。
其中参数shape表示被复制的形状;参数density表示形状的密度,静态物体设置为0。
接下来将通过一个实例的实现过程,详细讲解在Box2D世界中对Body施加力的方法。
编写实例文件MySurfaceView.java,此文件的功能是实现一个物理世界,主要代码如下
编写实例文件MyCircle.java绘制圆形,主要代码如下
执行后的效果如图12-12所示
图12-12 执行效果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。