나는 내 레이싱 코스가 직사각형 도넛과 비슷한 레이싱 카 게임을 만들고 있습니다. 직사각형의 가운데에는 벽으로 작용하는 또 다른 작은 직사각형이 있습니다. 내 차가 내벽과 충돌 할 수 있도록 내벽에 충돌 감지 기능을 추가하려고합니다. 아래는 내부 벽의 기본 측정과 트랙 개념을 보여주는 그림입니다.충돌 감지 - 피하 상자
- 번역 x 14-18 단위는 직사각형의 너비입니다.
-60에서 60 단위까지의 변환 y는 사각형의 전체 길이입니다.
현재 x 위치가 원점 (또는 y)에서 14 단위로 벽을 칠 때 자동차 충돌을 시도하면 전체 x 또는 y 행에 충돌이 발생합니다. 예를 들어, x 방향으로 14 개의 유닛이있는 벽을 치면 레이스 코스의 전환점 중 하나에서 그 위치에 도달하면 통과시키지 않습니다. 나는 지금 다음을 시도하고있다.
void checkColl(){
if (posX < -14){
velocityX *= -1 //bounce off the wall on the far left side of the picture
}
if (posX > 48){
velocityX *= -1 //bounce off wall on far right
}
if ((posY > 60 || posY < -60) && (posX > 14 && posX < 18)){ //bounce off the rectangle in middle of race course
velocityY = velocityY * -1;
velocityX = velocityX * -1;
}
}
'||'을'&&'로 바꾸어보세요. – Juxhin