# 1과 같이 플랫 포머 캐릭터의 충돌을 확인하고 있습니다. 빨간색 점은 확인 된 픽셀이며 회색 선은 관련된 축을 나타냅니다. 나는이 방법으로 충돌을 확인 한 결과를 좋아합니다 (예 : 경계 상자). 크러시 감지라는 하나의 문제를 제외하고는 원하는대로 정확하게 작동합니다.
다음 이미지에서 연한 파란색 상자는지면을 나타내고 주황색 상자는 대상이며 화살표는 이동 방향을 나타냅니다.
플레이어가 부서진 시점을 감지하는 간단한 해결책은 반대쪽의 충돌 지점이 모두 트리거되는지 확인하는 것입니다. 만약 그렇다면 플레이어는 짓 눌린 것입니다. # 2에서 일반적인 크러시 시나리오를 볼 수 있습니다. 플레이어가 접지되고 상단 충돌 지점이 낙하물과 교차합니다. 이것은 호감을 유발합니다.
# 3, 4, 5는 문제가있는 시나리오를 제시합니다. # 3에서 플레이어는 물체를 향해 움직이고 있습니다. 오른쪽 충돌 지점이 물체에 부딪혀 충돌이 발생하여 플레이어가 정지합니다.
이제 객체가 계속 위로 올라가고 플레이어가 계속 오른쪽으로 움직이면 (# 4에 표시) 플레이어가 오른쪽 충돌 지점을 지우고 플레이어가 오른쪽으로 이동합니다. 그러나 이제는 객체가 상단 충돌 지점과 교차하여 원치 않는 수직 충돌이 발생합니다.
비슷한 시나리오가 # 5에 표시됩니다. 두 개의 물체가 바닥 충돌 지점을 제거하기에 충분히 떨어져있어 플레이어가 넘어 질 수 있지만 측면 충돌 지점이 깨끗해지지 않아 수평으로 충돌하지 않을 수 있습니다.
나는 솔루션에 내 두뇌를 쌓아 올렸지 만, 내가 생각해 낸 아무것도 특별히 잘 작동하지 않았으므로 누군가 가이 문제를 해결하는 방법에 대한 아이디어 나 통찰력이 있는지 궁금합니다.
혼란을 없애기 위해 빨간색 충돌 지점은 스프라이트 내에 있으며 회색 선은 각 충돌 지점의 관련 축을 나타내는 데만 사용되었습니다. 예를 들어 캐릭터의 스프라이트가 단순한 녹색 사각형 인 경우 콜리 전 점은 다음과 같습니다.