> 백엔드 개발 > 파이썬 튜토리얼 > 내 탁구공이 패들에서 튕겨나가지 않고 흔들리는 이유는 무엇입니까?

내 탁구공이 패들에서 튕겨나가지 않고 흔들리는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-09 03:42:01
원래의
402명이 탐색했습니다.

Why Does My Pong Ball Wobble Instead of Bouncing Off the Paddle?

퐁 게임에서 공이 패들에서 튕겨나가지 못함

클래식 퐁 게임에서 플레이어는 패들을 제어하여 공을 화면에서 앞뒤로 방향을 바꾸게 됩니다. 그러나 일부 사용자는 때때로 공이 패들에서 튕겨나가지 못하고 표면을 따라 흔들리며 미끄러지는 문제에 직면했습니다.

원인:

이 문제가 발생합니다. 공이 패들의 상단 또는 하단 가장자리와 충돌할 때. 이 충돌을 감지하고 공의 방향을 바꾸는 것이 정확합니다. 그러나 때때로 공이 패들을 너무 깊게 관통하여 다음 이동 중에 충돌 영역 내에 남아 있는 경우가 있습니다. 결과적으로 두 번째 충돌이 감지되어 공의 방향이 다시 뒤집히고 패들 전면을 따라 지그재그 효과가 생성됩니다.

해결책:

  1. 역방향 속도를 곱하는 대신 방향:

공의 속도에 -1을 곱하여 방향을 바꾸는 대신, 올바른 패들을 칠 때 양의 속도를 할당하고 다음의 경우 음의 속도를 할당합니다. 왼쪽 패들을 치면 더욱 일관된 바운스가 생성됩니다.

if ball.colliderect(paddleLeft):
    move_x = abs(move_x)
if ball.colliderect(paddleRight):
    move_x = -abs(move_x)
로그인 후 복사
  1. 공 위치 조정:
또는 다음 공의 위치를 ​​조정합니다. 충돌은 경계 내에 남아 있도록 보장할 수 있습니다. 오른쪽 패들이 맞히면 공의 오른쪽 가장자리를 패들의 왼쪽으로 이동하고, 왼쪽 패들의 경우 그 반대로 이동합니다.

위 내용은 내 탁구공이 패들에서 튕겨나가지 않고 흔들리는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿