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

surfaceview 등에서 touchevent로 이미지 이동할때

0 추천
터치이벤트 move를 이용해 이미지를 옮겨줄 때(이동량을 구해서 새로 그려줍니다)

 

특정영역 밖으로 나가지 않게 하려면 어떻게해야하나요 ??

 

이미지의 좌표가 특정 수치 내에서만 이동하도록 했더니,

 

영역을 벗어난 값이 들어오면 이후로는 움직임을 아예 못받습니다. 영역밖에 나갔으니 false가 들어오는거죠 ..

 

어떻게 처리해야 자연스럽게 영역밖으로 나가면 멈췄다가, 다시 안으로 움직이려고하면

 

움직임을 받아올수 있을까요 ..

 

질문이 잘 이해가 안가실수도 있지만 너무 답답한마음에 질문올립니다.
음무 (17,820 포인트) 님이 2013년 12월 20일 질문

1개의 답변

0 추천
원하시는 영역이 SurfaceView와 같은 영역이라면

move에서 이동전에 최종적으로 이동좌표가 SufaceView의 영역에서 넘어갔는지 체크를 하시면될거같은데요

surfaceView.getLeft나  .getRight등으로 surfaceView의 좌표를 가져와서 비교해서요.

 

그보다 근본적인 문제가 글을 읽어보니 특정영역을 벗어나면 움직임을 아예못받는다고 적으셧는데

이것은 터치이벤트를 받는 영역을 제한적으로 설정한것이 아닌가 싶네요.

예를 들어 전체화면을 상하 반으로 자르고 아래부분을 SurfaceView가 차지하게 있다고 가정하고

SurfaceView에 터치리스너를 설정하셧던가 아니면 SurfaceView를 상속받아 커스텀클래스를 만들어서

커스텀클래스안의 onTouchEvent에서 이미지 이동을 컨트롤 한다고 하면

터치가 SurfaceView의 영역 즉 전체영역을 반으로 자른 아래영역을 벗어난다면 touch를 제대로 받을수가 없겟죠.

 

터치영역도 다시 한번 확인해보세요.
얼룩돼지 (15,720 포인트) 님이 2013년 12월 20일 답변
...