Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Membuat Objek Permainan Melantun Dari Sempadan dengan Berkesan dalam PyGame?
Halangan biasa dalam membangunkan permainan ialah membolehkan objek melantun dari sempadan . Apabila cuba membuat bola melantun dari dinding menggunakan PyGame, isu timbul apabila terkena dinding atas dan cuba menukar arah pergerakannya.
Kod yang disediakan mengandungi gelung bersarang. , yang boleh membawa kepada tingkah laku yang tidak dijangka. Sebaliknya, adalah disyorkan untuk menggerakkan bola secara berterusan dalam gelung aplikasi.
Untuk menentukan sempadan segi empat tepat untuk bola, cipta objek pygame.Rect. Anda boleh sama ada menggunakan skrin penuh sebagai sempadan atau menentukan kawasan segi empat tepat tersuai.
Setelah anda menetapkan sempadan, gunakan pernyataan bersyarat untuk menukar arah bola pergerakan apabila mencecah sempadan. Sebagai contoh, jika kedudukan-x bola tolak jejarinya kurang daripada sempadan kiri atau jika kedudukan-x ditambah jejarinya lebih besar daripada sempadan kanan, balikkan halaju-xnya (box.vel_x *= -1). Ulangi proses ini untuk sempadan atas dan bawah dengan halaju-y (box.vel_y *= -1).
Jika mahu, anda boleh menggunakan kelas vektor2 daripada PyGame ke memudahkan pengiraan dan manipulasi vektor. Coretan kod berikut menunjukkan cara menggunakan vector2 untuk melaksanakan semakan sempadan dan perubahan halaju:
<code class="python">import pygame ball = pygame.math.Vector2(100, 100) # Initial position velocity = pygame.math.Vector2(1, -1) # Initial velocity # Define the game loop while game_running: # Move the ball ball += velocity # Get the current boundaries left_boundary = 0 top_boundary = 0 right_boundary = 1200 bottom_boundary = 700 # Check if the ball has hit any boundaries if left_boundary < ball.x < right_boundary: pass # No change required if top_boundary < ball.y < bottom_boundary: pass # No change required else: # Change the velocity if the ball has hit a boundary velocity.x = -velocity.x velocity.y = -velocity.y</code>
Atas ialah kandungan terperinci Bagaimana untuk Membuat Objek Permainan Melantun Dari Sempadan dengan Berkesan dalam PyGame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!