2016-08-10 6 views
0

複数のステージを使用することができます。LibGDX - 1台のカメラで2つのステージを使用すると、より速く描画できます。

カスタム機能を持つOrthographicCameraがありますが、実際には関係ありません。

私はここに問題を抱えている:

@Override 
public void draw(){ 
    loginStage.getViewport().setCamera(camera); 
    registerStage.getViewport().setCamera(camera); 

    loginStage.act(delta); 
    loginStage.draw(); 

    registerStage.act(delta); 
    registerStage.draw(); 
} 

これはActorの行動のすべてがあまりにも速く実行されていることを引き起こしています。それは何とか世界を2回更新します。

//registerStage.getViewport().setCamera(camera); 

またはこの:私はこのコメントを解除すると

//registerStage.draw(); 

loginStageは(通常は)うまく行っているが、俳優の速度は正常です。

2つのカメラを2つ作成する必要がありますか、上記のコードに問題がありますか?

+0

上記のコードは正常です。あなたの何かのようなサウンドは 'delta'変数で猿を鳴らしています。 – Tenfour04

答えて

0

上に掲載されたコードの直後にレンダリングされたのはcamera.update()でした。

鍵は、各ステージは、それ自体にカメラを格納し、更新を呼び出すことをここにある:

public void draw() { 
    Camera camera = viewport.getCamera(); 
    camera.update(); 
} 

我々はこれをやったときに、我々は、手動で更新を呼び出す必要はありません。

stage.getViewport().setCamera(camera); 

カメラが2回更新されました。

関連する問題