2

重力:(x=0,y=地球)

我想做永久的弹跳球。例如,我将它设置为坐标 (200, 200),在它落到地面后,弹跳并返回到与 begin (200, 200) 相同的坐标。我尝试使用密度、弹性、摩擦力,我得到了一些类似的行为,但正在改变。我google了很多,发现问题是由于四舍五入的浮动。问题:引擎中的哪个值正在发生变化,并且在该值变得大于某个增量之后我需要重置哪个值?

第二个问题:为什么如果我这样设置固定装置:固定装置(密度= 1,弹性= 1,摩擦= 0)它不会反弹到相同的高度,而是随着每次反弹而反弹?我将弹性设置为 0,981f

第三个问题:一个对象夹具如何依赖于第二个对象夹具?示例:球(1f,0.6f,1f)墙(1f,0.6f,0f)

球(1f, 0.6f, 1f) 墙(1f, 0.6f, 0.5f)

会发生什么变化?

4

1 回答 1

0

嗯,要制作一个永久弹跳球,请将您的身体 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)

于 2014-02-25T05:02:17.033 回答