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

Ondraw로 그린 도형을 터치할 때 그 도형을 터치한지 알 수 있는방법이 있나요?

0 추천

너무 제목부터 이상하죠...

그러니깐 제 질문은 canvas.drawcircle 같이 하나의 도형을 그려냅니다.

그리고 손으로 그 도형을 터치하면 그 도형이 터치 되는지 안되는지를 알 수있는 방법이 따로 있을까요?

그림과 같이 drawcicle로 도형을 그려내고 손으로 터치이벤트를 발생시켜 터치할때마다 선이 그어집니다(그림판기능). 손으로 저도형위로 터치가 되면 카운트가 올라가게 하고싶은데요 확실한 방법이 있나해서 여쭤봅니다.

제가 일단 사용한 방법은

저 도형에 들어가는 x/y좌표의 경우의수를 모두 if문에 넣어 x,y좌표값이 출력되는 값과 비교하여 하게 하였는데 일단 제 스마트폰엔 문제가 없는데 다른 휴대폰의 경우 X/Y 픽셀 해상도가 달라져 확실히 되지가 않네요...

혹시 좋은 방법있으시면 알려주시면 감사하겠습니다 ..ㅠㅠ 

.. (840 포인트) 님이 2017년 9월 15일 질문

1개의 답변

0 추천
화면의 좌표와 Canvas의 좌표가 같지 않아서 그렇습니다.

화면의 사이즈는 1080 X 1920인데, 캔버스는 1280 X 720 일 수 있습니다.

원의 좌표는 1080 X 1920 좌표계에서 존재하는데,

손으로 드로윙한 좌표는 캔버스의 1280 X 720 좌표계에 있으니 맞지 않죠.

따라서, 손으로 그린 X, Y 좌표를 다음과 같이 변경해야 합니다.

newX = (Int) ((double)X * 화면Width /캔버스Width);

newY = (Int) ((double)Y * 화면Height/캔버스Height);

이런식으로 Scaling해서 비교해야 합니다.
Will Kim (43,170 포인트) 님이 2017년 9월 15일 답변
...