게임을 만들때 가장 먼저 봉착하는 막막함이 충돌검사이다...
적어도 나는 그랬다ㅎㅎ
물론 좌표이동 할때 곡선이동도 만만치 않지만ㅎㅎ
충돌검사는 케릭터의 형태에 따라 여러가지로 검사를 해야 하기 때문에 그 숫자만큼이나 더
골치가 더 아프다...
어쨋든 나는 사각, 마름모, 원, 선, 픽셀 충돌검사를 나름 내 식으로 만들어서 사용하고 있고 지금도 계속 개선중에 있다ㅎㅎ
물론 사각 대 마름모, 마름모 대 원... 이런식으로도 사용하고 있다
여기서는 이중 가장 간단하고 기본이 되는 사각 충돌검사를 보겠다
public boolean checkRect(Rect rect1, Rect rect2) {
if(rect1.left <= rect2.right && rect1.right >= rect2.left) {
if(rect1.top <= rect2.bottom && rect1.bottom >= rect2.top)
return true;
}
return false;
}
보는 바와 같이 원리도 간단하다
두 오브젝트의 사각영역을 각각의 꼭지점을 기준으로 겹쳐있는지 검사를 하는것이다
이검사는 항상 가장 먼저 이루어진다.
즉, 픽셀검사를 할때에도 먼저 사각 검사부터 하고 충돌로 판정되면 그다음에 픽셀검사를 하는것이다. 처음부터 픽셀검사를 해버리면 반복문을 너무 많이 돌기 때문에 효율성이 떨어진다.
사업자 정보 표시
주식회사 머리말 | 고영진 | 서울특별시 송파구 중대로 135 서관 10층 (가락동, 아이티벤처타워) | 사업자 등록번호 : 524-88-00727 | TEL : 010-9990-3674 | Mail : gyjmeba@hanmail.net | 통신판매신고번호 : 2017-서울강남-03941호 | 사이버몰의 이용약관 바로가기
'개발 > android' 카테고리의 다른 글
점의 선대칭 이동 공식을 코드로 짜보자 (0) | 2014.08.15 |
---|---|
[안드로이드] 간단하고 편리한 난수 발생 함수 만들기 (0) | 2014.06.22 |
[엔진없이 게임만들자] 자유자재로 오브젝트 이동시키기 (2) | 2014.04.14 |
안드로이드에서의 가장 간단하고 확실한 칼만필터(Kalman Filter) 테스트 (14) | 2014.03.17 |
안드로이드 앱 런칭후 데이터베이스 변경시 주의할점 (2) | 2014.01.20 |