2010-02-23 7 views
5

나는 내 XNA 게임에서 타일을 그리고 내 캐릭터를로드했습니다. 그러나 내 캐릭터는 움직이지 않습니다.지도는 움직이지 않는 환상을줍니다. 이제 나는 실제로 충돌을 테스트하는 방법을 궁금해합니다. 내 말은, 충돌 코드는 어디로 가고, 어떻게 모든 타일을 '하나의 큰 것'으로 표현할 수 있을까요?XNA의 타일 기반 충돌

+0

상황을 좀 더 명확하게 설명해 주시겠습니까? 즉. 게임에서 타일 맵을 어떻게 사용하고 있습니까? 캐릭터가 하나의 타일 또는 여러 타일을 차지합니까 (테트리스 라)? 게임 장애물이 여러 개의 타일을 차지합니까? 나는 충돌 탐지가 픽셀 기반의 충돌 탐지보다는 타일 맵의 장애물에 대한 캐릭터의 위치를 ​​비교하는 간단한 문제라고 생각할 것이기 때문에 약간의 손실에 처해있다. – Syndog

답변

5

XNA Creator 's 클럽에 pixel based collision detection에 대한 자습서가 있습니다. 충돌 감지를 수행 할 객체를 파악해야합니다. 캐릭터가 바둑판 식으로 배경을 가로 질러 움직이기를 바랄 것입니다. 그래서 캐릭터와 배경 사이의 충돌을 확인하고 싶지는 않습니다. 대신에 장애물을 만들어서 충돌 탐지를해야합니다.

+0

나는 알고있다. 그러나 나는 for 루프에 의해 배치되는 타일이므로 이러한 장애물에 대한 충돌을 테스트하는 방법을 알지 못합니다. – DMan

+0

나는 잘 모르겠다. 텍스처를 그리는 방법은 중요하지 않습니다. 충돌 감지를 수행 할 텍스처를 식별하고 샘플의 포함 된 .htm 파일에 설명 된대로 탐지를 적용해야합니다. –

+0

음, 각 텍스처를 여러 번 그리기 때문에 두 번 이상 충돌을 적용하지 않아도됩니까? 그렇다면, 내 드로잉 코드에서 어디에서 할 것인가? – DMan

0

Platformer Starter Kit을 살펴볼 수 있습니다. 맵에 타일을 구성하고 충돌을 확인하는 방법을 보여줍니다.

+0

나는 그곳을 들여다 보았지만 충돌이 실제로 일어난 클래스 파일을 찾지 못했습니다 ... – DMan

0

직사각형에는 교차 방식이 있습니다. 플레이어가 가운데에 있고 좌표를 알고 있다면 다른 texture2ds를 반복하고지도를 스크롤하기 전에 교차로를 확인하십시오.