2016-08-10 5 views
0

여러 단계를 사용할 수 있습니다.LibGDX - 하나의 카메라로 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의 모든 작업이 너무 빨리 수행되고 있음을 일으키는 :

나는 여기에 문제가 있습니다. 어떻게 든 세상을 두 번 업데이트합니다.

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

나이 : :이 주석을 제거하면 loginStage 잘 (일반적으로) 수행

//registerStage.draw(); 

, 배우의 속도는 정상입니다.

두 단계의 카메라를 두 개 만들어야합니까? 아니면 위의 코드에 문제가 있습니까?

+0

위의 코드는 정상입니다. 당신의 것 같은 소리는'delta' 변수로 원숭이입니다. – Tenfour04

답변

0

위에 게시 된 코드 바로 뒤에 렌더링시 camera.update()이 있습니다.

의 핵심은 각 단계 업데이트 자체에 카메라를 저장하고 호출하는 여기에 있습니다 :

stage.getViewport().setCamera(camera); 

:

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

그래서 우리는 우리가 이런 짓을 할 때 수동으로 업데이트를 호출 할 필요가 없습니다를 카메라가 두 번 업데이트되었습니다.