Box2d身体留下痕迹

时间:2016-02-08 05:45:06

标签: libgdx box2d scene2d

我正在尝试射击一个子弹,这是一个应用线性冲动的box2d身体。一切都很好,除了它似乎留下痕迹和运动不顺利。这是一个如何出现的图像..这是一个子弹......但是在移动时离开了踪迹......

enter image description here

这是一颗子弹..只是未被清除的小径。这是屏幕的渲染方法,

  public void render(float delta) {
        Gdx.gl.glClearColor(0, 0, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

         frameTime = Math.min(delta, 0.25f);
        accumulator += frameTime;
        while (accumulator >= TIME_STEP) {
            world.step(TIME_STEP, 6, 2);
            accumulator -= TIME_STEP;
        }

        stage.act();
        stage.draw();
    }

这是子弹演员

public class Bullet extends Actor {
    Sprite bulltetSprite = new Sprite(new Texture(Gdx.files.internal("bullet1.png")));
    float x, y;
    Body body;

    public Bullet(Body b) {
        this.body = b;
    }

    @Override
    public void act(float delta) {
        x = body.getPosition().x * Constants.PPM;
        y = body.getPosition().y * Constants.PPM;
        super.act(delta);
    }

    @Override
    public void draw(Batch batch, float parentAlpha) {
        super.draw(batch,parentAlpha);
        batch.draw(bulltetSprite, x - Constants.BULLET_WIDTH / 2, y - Constants.BULLET_HEIGHT / 2, Constants.BULLET_WIDTH, Constants.BULLET_HEIGHT);
    }
}

我在这里缺少什么,所以子弹顺利移动......

编辑:即使我没有使用精灵并且只使用Box2dDebugRenderer渲染,也会显示路径。

编辑2:它似乎与物理学有关。我用于子弹的密度太低了......在将密度设置为更高的值之后,它似乎现在工作正常。

0 个答案:

没有答案