마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

화면의맨끝(getwidth이용해)을알아보는방법

0 추천
제목그대로 궁금합니다 몬스터가 화면의 맨끝에서 나오게하고싶은데 어떻게해야할지모르겠네요 이문제를해결할수있도록 도와주세요!! 아 참고로 가로모드이고 홈키쪽에서 나오도록하고싶습니다
느낌표시 (460 포인트) 님이 2013년 4월 3일 질문

2개의 답변

0 추천
 
채택된 답변

 

Display display = ((WindowManager)getSystemService(WINDOW_SERVICE)).getDefaultDisplay();

 

int displayWidth = display.getWidth();
int displayHeight = display.getHeight();

크기를 알았으니 그 이후는 찍어내기만 하면 되겠죠???

ThisPlus (46,920 포인트) 님이 2013년 4월 4일 답변
느낌표시님이 2013년 4월 6일 채택됨
이건알고있었어요 하지만 화면의 전체는 구해지지만 왼쪽 오른쪽 의크기는 알수없나요 height의값을 구하면 화면맨끝에서 몬스터가 나오게하고싶습니다
왼쪽 오른쪽의 크기가 무엇인지???
위와같이하면 기본사이즈라 할경우 가로 800 세로 480이나오는데...
오르쪽 끝은 800이겠고,,,,, 왼쪽끝은 0이죠.....
제가 잘못 이해하고있는건가요?
홈키가 오른쪽인지 왼쪽인지는 잘모르겠지만.. 몬스터가 나오는것처럼
표현하려면 몬스터의 사이즈를 빼거나 더한값에서 출발시켜야합니다.
^^ 잘못 이해하고 계시군요....
몬스터의 크기를 빼거나 더할 필요 없습니다.
몬스터의 크기가 50x50이라면
몬스터를 800이상부터 출발 시켜주시면 됩니다.
캔버스의 크기는 무한하다고 보시면 됩니다. 무한한 캔버스의 일부분만을 화면에 보여주고 있는 것뿐이지요....
제 답변을 완전 잘못이해하고 계시는듯합니다 ^^
몬스터의 크기를 더하거나 빼는 이유는 캔버스의 크기가 무한하기 때문입니다
몬스터의 크기가 50이라면 0~800의 캔버스에서는
-50에서부터 출발해서 800쪽으로 이동하던가 아니면 850에서 0쪽으로
이동하는게 보이는게 자연스럽지요.
무한한 캔버스에 보이지도 않는 영역 저멀리에다가 몬스터를 출발시키면
그려지는 영역을 이동시키지않는 한 몬스터는 오는데 상당한 시간이 걸리게되지요
ㅋ 제말이 그건데... 서로 글로쓰다 보니 오해가 있었던듯 하네요... ㅋ
아그리고 님이 다신 덧글이 질문자가 단 덧글인줄 알았다는... ㅋ
0 추천
윗분 말씀처럼 getWidth()로 구한 값은 화면의 맨오른쪽 끝 값이겠죠.. 왼쪽시작은 0일꺼구요..

그럼 천천히 나오게하시려면 왼쪽은 0보다 더 작은값을, 오른쪽은 getWidth()+@ 로부터 시작하면 되는거 아닌가요?
빵떡 (560 포인트) 님이 2013년 4월 5일 답변
...