내 스프라이트가 다른 모양과 충돌하면 내 스프라이트가 사라지고 원본 x/y 위치에 다시 그려지는데 이유가 확실하지 않습니다.충돌 감지/변환 오류
아무도 내 스프린트가 사라지는 것을 막기 위해 코드를 변경하라는 제안을 할 수 있지만 초기 충돌 이전의 위치에 머 무르지 않습니까?
나는 glTranslation
의 역전을 시도했지만 함수에서 0
의 값을 설정하여 이동을 중지했지만 실패했지만 실패했습니다.
void move(){
if(check_collision(sprite,platform1) || check_collision(sprite,platform2)){ //if colliding
//x_Vel = 0; y_Vel = 0;
}
else{ //if not colliding
glTranslatef(x_Vel, y_Vel, 0.0);
}
}
void drawSprite (RECT rect) { ... }
상자가 서로 흘러 들어가는 속도가 충분히 빨라지면 충돌 감지가 실패합니다. 이 경우, 뽑은 상자가 다른 상자를 통과하는지 확인하는 더 나은 시스템이 필요합니다. 그것은 어렵지 않습니다, littel 벡터 수학,하지만 당신이 알고 있어야합니다. –