Pergerakan Bola dalam PyGame
Apabila membina permainan menggunakan PyGame, anda sering menghadapi masalah cara mengalihkan objek pada skrin. Semasa membina permainan pingpong, penulis cuba menggerakkan bola tetapi menghadapi beberapa masalah. Apabila kaedah move_right dipanggil, bola tidak bergerak ke kanan, tetapi memanjang ke kanan.
Punca masalah
Punca masalah ini terletak pada mekanisme lukisan PyGame. Dalam setiap bingkai, PyGame melukis semua objek ke permukaan paparan. Oleh itu, jika bingkai sebelumnya tidak dikosongkan, objek yang baru dilukis akan ditindih pada objek lama, menyebabkan kesan mengekor.
Penyelesaian
Untuk menyelesaikan masalah ini, permukaan paparan perlu dikosongkan pada permulaan setiap bingkai. Kod boleh diubah suai seperti ini:
while True: # [...] screen.fill(0) # <--- 清除显示表面 main.draw_elements() main.move_ball() main.ball.x_pos += main.ball.speed pygame.display.flip() # [...]
Dengan mengosongkan permukaan paparan pada permulaan setiap bingkai, anda boleh mengalih keluar kesan mengekor dan membenarkan bola bergerak dengan betul dan bukannya meninggalkan jejak.
Atas ialah kandungan terperinci Mengapa Bola PyGame Saya Meregangkan Daripada Bergerak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!