2012-11-14 2 views
1

가능한 중복 :
Basic 2d collision detection
어떻게하면 C#에서 두 이미지 사이의 충돌을 감지 할 수 있습니까?

가이 일 좀 도와 수 있기를 바랍니다. 나는 C#에 익숙하지 않기 때문에 매우 미숙하다. 그러나 기본적으로 저는 어떤 물체가 하늘에서 떨어지는 게임을 만들고자합니다. 깃털과 같은 일부 물체는 떨어지기까지 시간이 걸리는 반면, 금속 공은 더 빨리 떨어집니다. 일정 금액의 현금으로 시작하여 바닥에 놓을 수있는 무기를 살 수 있습니다. 이제는 충돌과 관련한 작업을 한 번도 해 본 적이 없으므로 간단한 답변만으로도 많은 도움이 될 것입니다! 여기

게임에있을 것입니다 그 충돌의 일부 (확실하지 충돌의 종류가 다르게 코딩하는 경우)

  • 충돌 낙하와 사이에 글 머리 기호 및 낙하물
  • 충돌을 사이 (무생물)
  • 타격 물체와 다른 물체 주위의 특정 반경 충돌 (예 : 무기가 그 중심에서 시작하는 방사 광선을 내뿜는 경우)
  • 회전하는 물체 간의 충돌 ing 블레이드) 및 낙하물

누군가가이 문제를 해결할 수 있다면 많은 도움이 될 것입니다.

+0

여기에 @Vyktor에 동의합니다. 이것은 속임수입니다 (범죄가 아니며 지역 사회의 일반적인 관리 일뿐입니다). - 당신이 말하는 모든 것에 대해 * 이미지 *를 사용하지 않기를 바랍니다. - 정확한 충돌 감지를 위해 충돌중인 객체의 가능한 표현을 수학적으로 사용해야합니다. 예 : 빔은 벡터가되고, 공은 점 + 반경 (또는 방향이 중요하면 참으로 점 + 벡터)이됩니다. –

답변

0

몇 달 전에 해류 계산으로 비슷한 문제가있었습니다. 또한 카드가 땅에 부딪 치고 ovelaping이 있는지 감지하는 알고리즘 (10y ago elementry school 경쟁 프로그램)이있었습니다.

해류와 함께 나는 스트림 경로에 대해 거의 무한한 수의 벡터를 가졌으므로 현재의 장애물에 영향을받지 않는 최소 반경을 계산했습니다. 전류가 장애물에 너무 가까워지면 (최소 반지름 이내) 정확한 콜리 손에 대한 실제 계산이 시작됩니다.

카드 정보. 카드는 4 점으로 표시됩니다. 2d, (0,0), (1,0), (0, 1), (1, 1)이라고 말할 수 있습니다. 다른 카드가 겹치는 지 감지하려면 두 번째 카드 점이 그 사각형 안에 있고 그 반대의 경우도 감지합니다.

Vyktor가 이전에 언급 한 진짜 총알/깃털 콜리 전 검사 주제에 대해.

관련 문제