libGDX と box2D を使用して 2D ゲームを開発しています。カメラは体に追従しています。背景(png 3200X48)もスクロールしたいです。これで、カメラは box2D の世界で正常に動作しますが、背景が動きません。多くの解決策を検索して試しましたが、役に立ちませんでした。それに対する最善の解決策は何ですか?たぶん、2 台のカメラを 1 台を物理ワールド用に、2 台目を libgdx シーン用にしますか? 誰かが同様の問題を抱えていますか?手伝ってくれてありがとう。ここに私のコードの一部があります
float w = 320;
float h = 480;
@Override
public void show() {
camera = new OrthographicCamera();
camera.setToOrtho(false, w/2, h/2);
world = new World(new Vector2(0, -20), true);
box2DDebugRenderer = new Box2DDebugRenderer();
background = new Texture(Gdx.files.internal("gfx/forklift/background.png"));
bg = new Sprite(background);
......}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(1f, 1f, 1f, 1f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
moveCamera(dynamicBody.getPosition().x);
moveBody();
batch.begin();
batch.draw(background, 0, 0, 3200, 480);
batch.end();
Gdx.app.log("", ""+dynamicBody.getPosition());
world.step(1/60f, 6, 2);
box2DDebugRenderer.render(world, camera.combined);}
public void moveCamera(float x){
camera.position.set(x, dynamicBody.getPosition().y, 0);
camera.update();
}
@Override
public void resize(int w, int h) {
camera = new OrthographicCamera(w, h);
camera.translate(h/2, w/2, 0);
super.resize(w, h);
}