2011-11-30 6 views
0

맞아, 나는 2 차원 자동차 경주 용 게임을 만들고있어. 지금까지 (물론 약간의 도움으로) 자동차를 움직이는 등의 작업을 수행했으며 XNA에서 충돌 감지를 추가하는 방법에 대해 궁금해하고있었습니다. 나는 전체 트랙에서 범퍼 파트를 가져 와서 별도의 .png 파일로 만들었습니다. 그리고 나는 충돌 감지 박스를 추가하려고 생각하고 있었다. (그래서 '자동차'가 범퍼를 타면 '뒤로'움직일 것이다.) 범퍼에 콜리 손 감지 기능을 추가하고 차와 통합하려면 어떻게합니까? 고맙습니다!XNA의 2D 자동차 게임에서 충돌 감지를 추가하는 방법은 무엇입니까?

답변

0

자동차가 항상 똑바로 - 회전하지 않으면 훨씬 쉬울 것 같습니다. 회전 된 경우 직사각형을 사용하여 도움을 줄 수 없습니다. 그렇다면 car.png에 범퍼를 포함시킬 수 있습니다. 그런 다음 자동차의 좌표를 사용하고 특정 값을 추가하여 범퍼 용 영역의 길이와 너비를 얻을 수 있습니다. 사각형이 같은 다른 순서로 또는 뭔가에있을 수 있습니다 당신은 다음 매개 변수로,

Rectangle bumperBoundingBox = new Rectangle 
(
    (int)X_COORDINATE_OF_CAR, 
    (int)Y_COORDINATE_OF_CAR, 
    (int)X_COORDINATE_OF_CAR + WIDTH_OF_BUMPER, 
    (int)Y_COORDINATE_OF_CAR + HEIGHT_OF_BUMPER 
); 
Rectangle otherCarBoundingBox = new Rectangle(\* x, y, ... *\); 
bool carIsTouchingBumper = otherCarBoundingBox.Intersects(bumperBoundingBox); 

이 완벽 완벽하지 않을 수 있습니다 할 수 있습니다. 하지만 일단 그것을 가지고, 당신은 carIsTouchingBumper을 사용하고 물건을 할 수 있습니다.

범퍼를 별도의 이미지로 만들려면 범퍼의 좌표를 대신 사용하여 위와 동일한 작업을 수행 할 수 있습니다. 또한 범퍼가 차를 따라 가야합니다.

관련 문제