Andengine固定装置,重力,质量 - 永久弹跳球

时间:2012-10-09 06:41:23

标签: andengine game-physics elasticity

引力:(x = 0,y = EARTH)

我想制作永久弹跳球。例如,我将它设置为coords(200,200),在它落到地面后,弹跳并返回到与开始(200,200)相同的坐标。我试着玩密度,弹性,摩擦力,但我也有类似的行为,但正在改变。我谷歌很多,发现问题是由于四舍五入浮动。问题:引擎中哪个值发生变化,在该值变为某个增量后,我需要重置哪个值?

第二个问题:为什么如果我设置这样的灯具:灯具(密度= 1,弹性= 1,摩擦= 0)它没有反弹到相同的高度,但每次反弹都反弹?我设置弹性类似于0,981f

第三个问题:一个物体装置如何依赖于第二个物体装置? 例: 球(1f,0.6f,1f) 墙(1f,0.6f,0f)

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

会发生什么变化?

1 个答案:

答案 0 :(得分: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)