안드로이드 조이스틱 패드 만들기.
- 조이스틱 배경 위치.
- 조이스틱 이동 키 위치.
- 조이스틱 반지름 값.
- 조이스틱 터치시 패드안에서의 이동 확인.
- 조이스틱 배경위치(중심점)에서 반지름 값 만큼 최대거리 확보.
- 중심점값과 터치한 값 확인하여 각을 계산(3시 방향으로 0도 기준.)
- 각값으로 중심점과 터치한 값의 최대 반지름 길이 값을 확인.
- 터치한값이 조이스틱 배경에 있는지 확인.
- 있다면 유닛이동함.
- 유닛 이동시 원중심에서 멀어질수록 속도가 빠르게 함.
- 터치한 - 조이스틱 배경값 을 가지고
- 유닛포인트 값 + Math.cos(rad) * radius * 0.1f) + (터치한 - 조이스틱 배경값) = x, 유닛포인트 값 + Math.sin(rad) * radius * 0.1f) + (터치한 - 조이스틱 배경값) = y
- 조이스틱 배경 값에서 터치한 값으로 각을 구할수 있음.
- 메트릭스 사용하여 각값을 바라보게 할수있음.
- 매트릭스 변수 a, b 생성
- a.set(b);
- a.postRotate(각값, 회전할 중심값 x, y);
- a.postTranslate(위치값x, y);
- canvas.drawBitmap(이미지, 매트릭스, 페인트);
- 이동 및 회전 확인.
핵심포인트
소스상에서 원의 둘레값을 확인.
원중심점에서 터치한곳의 각을 확인.
각을 확인하여 원 둘레값 체크하여 터치한곳과 비교.
원 안쪽이면 유닛을 이동시킴...
'GAME > 안드로이드_알고리즘' 카테고리의 다른 글
안드로이드 캔버스 기준좌표. (0) | 2014.12.01 |
---|---|
스케일 터치이벤트 (0) | 2014.11.24 |
canvas 이미지 회전. (0) | 2014.11.21 |