2016-12-16 9 views
1

私は自分のGameStageクラスにカメラを持っており、左右の矢印キーを押したときにカメラを翻訳しようとしています。どちらかのキーを押してカメラのx位置を印刷すると、その位置は変わりますが、何も動かない(同じ位置にある俳優は画面に留まります)。私は間違って何をしていますか?libGDXカメラが翻訳されていません

スクリーン方式レンダリング:カメラを伴う

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

    gameStage.update(); 
    gameStage.draw(); 
    gameStage.act(delta); 
} 

ステージコード:目に見えるコードをあなたから

public GameStage() { 
    super(new ScalingViewport(Scaling.stretch, Lib.WIDTH, Lib.HEIGHT, new OrthographicCamera(Lib.WIDTH, Lib.HEIGHT))); 

    initCamera(); 

    Gdx.input.setInputProcessor(this); 
} 

public void initCamera() { 
    camera = new OrthographicCamera(Lib.WIDTH, Lib.HEIGHT); 
    camera.position.set(camera.viewportWidth/2, camera.viewportHeight/2, 0f); 
    camera.update(); 
} 

public void updateCamera() { 
    if (Gdx.input.isKeyPressed(Input.Keys.LEFT)) { 
     camera.translate(-5, 0); 
    } else if (Gdx.input.isKeyPressed(Input.Keys.RIGHT)) { 
     camera.translate(5, 0); 
    } 

    camera.update(); 
} 

public void update() { 
    updateCamera(); 
} 

感謝:)

+0

あなたは2台のカメラを持っていますか? – eldo

答えて

2

を私は問題であることを言うだろう2つのcameraがあります。 superコンストラクタを呼び出すときに1つが作成されます。手動で作成したものもあります。 cameraを翻訳しても、レンダリングのためにbatchstagecameraを使用します。

cameraを削除した場合は、と作成して使用できます。

関連する問題