객체지향프로그래밍- 당구게임중에서요
하예라
당구(사구) 게임을 코딩하고 있는데요..
당구공 4개 (흰, 노랑, 빨강2) 이 각각의 객체입니다.
그런데..
문제가 생겼습니다.
각각의 공이 충돌했을 때,
충돌 후 두 공이 나가는 방향을
코딩해야 하는데 어떻게 해야 할지 모르겠어요ㅠㅠ
수학적으로는 어떻게 해야 겠다라는 대강의 감은 잡히지만
이걸 코드로 못 쓰겠네요 ㅠㅠ
고수님들... 도와주세요!!!! ㅠㅠㅠ
-
내꽃
충돌은 공의 탄성을 0이라고 가정을 하면 접속면이 닿았을 경우의 속도와 방향(즉, 벡터)로 계산을 합니다. 그리고 충돌 후는 충돌전의 이동과 동일하게 이동할 목표를 향해 frame에 따라서 계속 이동을 시키면 됩니다.
즉, 충돌 시에 두 공이 충돌 후 최종 이동해야할 좌표와 속도를 계산해서 저장하고 다시 frame에 따라서 이동시키면 됩니다.
한빛미디어의 \생생한 게임 개발에 꼭 필요한 기본 물리\나 GPG 잼시리즈를 보시면 관련된 내용이 나올꺼예요. -
벛꽃
당구공 이미지를 모눈 종이에 그리는 것처럼 나누고 충돌 영역을 정하신 후에, 2개의 공이 어느 충돌 영역끼리 만났는지 체크해서 알고계시는 공식에 따라 좌표를 바꿔주면 될듯하네요.
아니면 단순하게 공의 중심 좌표로 부터 공 크기만큼 범위를 체크해서 두 공의 좌표가 겹치면 충돌했다고 판단하셔도 되겠지만... 충돌 조건이 단순해지면 결과도 단순하게 나오겠죠...
인터넷에서 슈팅/액션 게임 강좌등의 자료중에 충돌영역 처리하는 자료 찾아보시면 도움될듯 합니다. -
진나
어느정도까지 하셨는지 조차 잘 모르겠습니다.
그리고 히죽이님의 실력이 어느정도 되는지 잘 몰라서 답하기 힘듭니다.
질문은 아주 구체적인 것만 해 주셔야. 답을 얻기 쉽습니다.
\충돌했을때 수학식은 알겠는데, 코드로 못 짜겠어요\ 라고 하면..
저희는 그 수학식을 모르기 때문에 도와 줄 수 없는것이 당연한것이겠지요.
질문은 아는정보는 최대한 알려 주셔야 하고,
본인이 정말로 모르는 부분에 대해서만 물어 봐야 답을 얻을 확률이 높습니다.
공지사항에