重力: (x=0, y=地球)
我想做永久弹跳球。例如,我设置了它的坐标(200,200),在它落到地面后,反弹并返回到与开始(200,200)相同的坐标。我尝试玩密度,弹性,摩擦力,我得到了一些类似的行为,但正在改变。我用谷歌搜索了很多,发现问题是因为四舍五入浮点数。问题:引擎中的哪个值正在发生变化,我需要重置哪个值,然后该值将变为一些增量?
第二个问题:为什么如果我这样设置夹具:夹具(密度=1,弹性=1,摩擦力=0),它不会反弹到相同的高度,而是随着每次弹跳而弹跳?我设置弹性类似0,981f
第三个问题:一个对象夹具如何依赖于第二个对象夹具?例:球(1楼, 0.6楼, 1楼)墙面(1楼, 0.6楼, 0楼)
和
球(1楼, 0.6楼, 1楼)墙面(1楼、0.6楼、0.5楼)
会有什么变化?
嗯,要做一个永久的弹跳球,让你的身体BodyType.DynamicBody一个,然后只需将重力设置为0,EARTH(9.8f)和
scene.registerUpdateHandler(new IUpdateHandler() {
@Override
public void onUpdate(float pSecondsElapsed) {
if(body.getPosition().y >=CAMERA_HEIGHT)
{
Vector2 v=new Vector2(0, -9f); //Adjust according to the bounce required
body.setLinearVelocity(v);
}
}
});
第二个:
密度是体积质量密度(),重力加速度与质量无关...
弹性是物体在某一点停止时的惯性,所以如果你不想进一步移动物体,只需将其设置为 0
摩擦力是抵抗物体相对运动的力的大小(如介质空气、水或类似的东西)
因此,要在两个固定点之间创建一个弹跳球,请尝试设置(密度= 1,弹性= 0,摩擦力= 0)