Rumah >pembangunan bahagian belakang >Tutorial Python >Mengapa Bola Pong Saya Bergoyang Daripada Melantun Dari Dayung?

Mengapa Bola Pong Saya Bergoyang Daripada Melantun Dari Dayung?

Patricia Arquette
Patricia Arquetteasal
2024-11-09 03:42:01360semak imbas

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

Bola Gagal Melantun Dayung dalam Permainan Pong

Dalam permainan Pong klasik, pemain mengawal dayung untuk menepis bola ke depan dan belakang merentasi skrin. Walau bagaimanapun, sesetengah pengguna menghadapi masalah di mana bola kadangkala gagal melantun dari dayung, sebaliknya bergoyang dan menggelongsor di sepanjang permukaannya.

Punca:

Masalah ini timbul apabila bola berlanggar dengan bahagian atas atau tepi bawah dayung. Mengesan perlanggaran ini dan menterbalikkan arah bola adalah betul. Walau bagaimanapun, ada kalanya, bola menembusi dayung dengan begitu dalam sehingga ia kekal dalam kawasan perlanggaran semasa pergerakan seterusnya. Akibatnya, perlanggaran kedua dikesan, menterbalikkan arah bola sekali lagi, mewujudkan kesan zigzag di sepanjang bahagian hadapan dayung.

Penyelesaian:

  1. Terbalik Arah Bukan Mendarab Kelajuan:

Daripada mendarabkan kelajuan bola dengan -1, yang mengakibatkan keterbalikan arahnya, memberikan kelajuan positif apabila ia mengenai dayung kanan dan kelajuan negatif apabila ia terkena ke kiri dayung akan menghasilkan lantunan yang lebih konsisten.

if ball.colliderect(paddleLeft):
    move_x = abs(move_x)
if ball.colliderect(paddleRight):
    move_x = -abs(move_x)
  1. Laraskan Bola Kedudukan:

Sebagai alternatif, melaraskan kedudukan bola selepas perlanggaran boleh memastikan ia kekal dalam sempadan. Apabila dayung kanan dipukul, gerakkan tepi kanan bola ke kiri dayung, dan begitu juga sebaliknya untuk dayung kiri.

if ball.colliderect(paddleLeft):
    move_x *= -1
    ball.left = paddleLeft.right
if ball.colliderect(paddleRight):
    move_x *= -1
    ball.right = paddleRight.left

Atas ialah kandungan terperinci Mengapa Bola Pong Saya Bergoyang Daripada Melantun Dari Dayung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn