2015-02-06 7 views
2

내 문제는 여기에있다. LibGDX를 사용하여 텍스처를 렌더링하려고합니다. 화면 크기에 비례하는 위치와 너비입니다. 방법은 다음과 같습니다.LibGDX spritebatch 화면 크기에 상대적으로 크기를 조정

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

    batch.begin(); 
    batch.draw(logo.getKeyFrame(frame), (Gdx.graphics.getWidth()/2) - (logo.getKeyFrame(frame).getRegionWidth()/2), Gdx.graphics.getHeight() - logo.getKeyFrame(frame).getRegionHeight()); 
    batch.end(); 

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

@Override 
public void resize(int width, int height) { 
    stage.getViewport().update(width, height, true); 
} 

문제는 이미지의 크기를 조정하려고 할 때 이미지가 올바르게 렌더링되지 않는 것입니다. 이 문제를 해결할 방법이 있습니까?

고마워요 :)

+0

아마도 너비와 높이 변수를 만들고 그것들을'resize()'에 새로운 값으로 설정해 보아라. 그런 다음 해당 변수를 사용하여 이미지의 크기를 설정하십시오. – vedi0boy

+0

@ vedi0boy 방금 시도했지만 아무것도 변경되지 않았습니다. getRegionWidth()를 사용하여 이미지 너비를 가져야합니까? – Ferdz

+0

LibGDX를 많이 사용합니다. StretchViewport와 함께 'OrthographicCamera'를 사용했기 때문에이 문제에 결코 빠지지 않았습니다. 더 많은 것을 알고 싶다면 그냥 말해 주면 화면을 어떻게'resize()'에 완벽하게 맞출 수 있도록 설정하는지 알려줄 것입니다. – vedi0boy

답변

7

Ok 제 문제를 해결하는 방법을 찾았습니다. 나는 이것을 resize 메서드에서 호출한다.

batch.getProjectionMatrix().setToOrtho2D(0, 0, width, height); 
관련 문제