我正在尝试射击一个子弹,这是一个应用线性冲动的box2d身体。一切都很好,除了它似乎留下痕迹和运动不顺利。这是一个如何出现的图像..这是一个子弹......但是在移动时离开了踪迹......
这是一颗子弹..只是未被清除的小径。这是屏幕的渲染方法,
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:它似乎与物理学有关。我用于子弹的密度太低了......在将密度设置为更高的值之后,它似乎现在工作正常。