충돌 감지 문제: 항상 'True'를 반환
다음 중 하나 충돌 감지 기능이 'True'를 반환하면 안되는 가장 일반적인 이유는 잘못된 좌표를 사용하기 때문입니다. 정보. 코드에서 Ball 및 Obstacle 스프라이트에는 추가 x 및 y 속성이 있지만 Surface 객체의 get_ect() 메서드는 이러한 속성을 기반으로 위치를 자동으로 업데이트하지 않습니다.
해결책:
이 문제를 해결하려면 호출 시 topleft 키워드 인수를 사용하여 수동으로 직사각형의 위치를 설정해야 합니다. get_direct():
self.rect = self.image.get_rect(topleft=(self.x, self.y))
이미지 위치 문제: 항상 (0, 0)을 반환합니다.
기본적으로 Surface 객체의 좌표는 항상 ( 0, 0), 화면 어디에 표시되는지에 상관없습니다. 게임 디스플레이에 이미지를 블릿팅할 때, 이미지를 그리고 싶은 위치에 올바른 좌표를 제공해야 합니다.
해결책:
간단히 좌표를 사용할 수 있습니다. 이미지를 블리팅할 때 ret 속성에 저장됩니다:
gameDisplay.blit(self.image, self.rect)
추가 팁:
위 내용은 내 파이게임 충돌 감지가 항상 True를 반환하는 이유와 내 이미지 위치가 항상 (0, 0)인 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!