PyGame에서 공의 움직임
PyGame을 사용하여 게임을 만들 때 화면에서 개체를 어떻게 움직이는지에 대한 문제에 자주 직면하게 됩니다. 저자는 탁구 게임을 만들면서 공을 움직이려고 했으나 몇 가지 문제에 부딪혔습니다. move_right 메소드가 호출되면 공은 오른쪽으로 이동하지 않고 오른쪽으로 확장됩니다.
문제의 근원
이 문제의 근원은 PyGame의 그리기 메커니즘에 있습니다. 각 프레임에서 PyGame은 모든 개체를 디스플레이 표면에 그립니다. 따라서 이전 프레임을 클리어하지 않으면 새로 그린 객체가 이전 객체에 겹쳐서 끌리는 효과가 발생합니다.
해결 방법
이 문제를 해결하려면 각 프레임 시작 시 디스플레이 표면을 지워야 합니다. 코드는 다음과 같이 수정할 수 있습니다.
while True: # [...] screen.fill(0) # <--- 清除显示表面 main.draw_elements() main.move_ball() main.ball.x_pos += main.ball.speed pygame.display.flip() # [...]
각 프레임 시작 시 디스플레이 표면을 지우면 트레일링 효과를 제거하고 공이 트레일을 남기지 않고 올바르게 움직일 수 있습니다.
위 내용은 내 파이게임 공이 움직이는 대신 늘어나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!