2010-04-17 7 views
2

스프라이트가있는 경우 두 점 사이의 충돌을 어떻게 확인합니까? 예를 들어, 내가 만들고있는 게임에서 스프라이트가 충돌하는 여러 줄을 그려야합니다. 나는 플랫폼이 많으면 다른 충돌 시스템보다 융통성이 있다고 생각합니다.스프라이트 대 라인 충돌

답변

3

일부 간단한 논리는 낭비되는 계산을 줄이는 데 도움이 될 수 있습니다. 예를 들어 스프라이트의 위쪽이 둘 다 낮 으면 충돌이 발생할 수 없습니다. 일종의 간단한 경계 상자 충돌 검사.

일단 그렇게했다면, 나는 당신이 당신의 라인을위한 '공식'을 얻었다면 스프라이트의 모서리 중 어느 라인이 위 또는 아래 라인에 위치 하는지를 확인하는 것이 좋습니다. 모두가 같은 편에 있지 않으면 충돌이 일어납니다.

예를 들어, 회선이 y=x/2+2 인 경우 x = -20에서 x = 20으로 끝나고 (3, -1)에 정사각형 스프라이트 3 와이드/하이가있는 경우 스피트 4 점 (3, -1) (3,2) (6,2) (6, -1)이다. x = 3에서 y = 3.5이고 x = 6에서 y = 5 인 두 x 위치에서 선의 y 값을 계산하면 그 y 값은 모두 큐브의 y 값보다 크므로 큐브가 선 아래에있다.

+0

답변 해 주셔서 감사합니다. – Alu

+0

라인이 곧은 경우 어떻게 될까요? –

+0

내 방법이 여전히 효과가 있다고 생각합니다. 기본적으로 선을 상자로 간주하고 스프라이트의 모서리 중 하나가 선이 만드는 상자 안에 있는지 확인합니다. 그것은 매우 조잡한 방법이지만 간단한 일은 효과가있을 것입니다. – thecoshman