2014-10-09 3 views
1

나는 새처럼 반짝이는 게임을 만들고 있지만, 가로 모드에서 작동하므로 더 큰 화면을 가진 사람들이 내 이미지를 화면으로 변경하는 데 유리하지 않습니다 % 예를 들어 새는 화면 높이의 10 %가 될 것이므로 모든 화면에서 동일 할 것입니다. 질문은 좋은 생각입니까 아니면 다른 방법입니까?이미지의 백분율을 사용하는 libgdx

+0

프로그래밍 관련 질문이 아닙니다. gamedev.stackexchange.com에서 더 좋은 답변을 얻을 수 있습니다. 제안 된 방법은 많은 게임에서 사용되지만 너비와 높이의 다양한 비율을 고려해야합니다. 사이드 스크롤러에서 또 다른 가능한 해결책은 플레이어가 움직이는쪽으로부터 일정 거리 떨어진 곳에 플레이어의 위치를 ​​설정하는 것입니다. 그런 식으로 모든 장치는 반응 시간면에서 동등한 위치에 있습니다. 더 큰 장치에서 재생하면 더 많은 풍경이 표시되지만 플레이어 뒤의 풍경이므로 게임 플레이에 영향을 미치지 않습니다. – Tenfour04

+0

픽셀 그래픽을 사용하는 경우 방법에 따라 흐릿 해 보일 수도 있고, 선형 필터링 사용 여부에 따라 픽셀의 크기가 고르지 않게 될 수도 있습니다. – Tenfour04

답변

2

백분율을 사용할 필요가 없습니다. libgdx를 사용하고 있다면 미리 정의 된 뷰포트 크기를 사용할 수 있고 그렇게해야합니다. 따라서 화면 해상도는 사용자가 아니라 라이브러리에 의해 처리됩니다.

당신은이 고정 높이를 설정, 카메라를 사용하고, 폭을 계산 얻을 수 있습니다

HEIGHT = 10; 
WIDTH = (Gdx.graphics.getWidth()/Gdx.graphics.getHeight())*HEIGHT; 

camera = new OrthographicCamera(); 
camera.setToOrtho(false, WIDTH, HEIGHT); 

이러한 방법으로, 당신의 높이가 10 개 단위가 될 것입니다. 그리고 너비는 화면 xy 비율에 의해 caculated됩니다.

조류 그러면 조류 1 개 단위 크기 (높이/10) 일 것이다 화면 높이

의 10 % 일 것이다.

양면을 고정하려면 (아무도 너비가 더 이상 보이지 않도록). 그것의 더 쉬운, 그러나 당신의 심상은 그들의 비율을 지키지 않을 것이다, 그들은 두 축에서 기지개 할 것이다.

HEIGHT = 10; 
WIDTH = 15; 

camera = new OrthographicCamera(); 
camera.setToOrtho(false, WIDTH, HEIGHT); 
관련 문제