Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Bola PyGame Saya Meregangkan Daripada Bergerak?

Mengapa Bola PyGame Saya Meregangkan Daripada Bergerak?

Barbara Streisand
Lepaskan: 2024-12-03 18:22:16
asal
224 orang telah melayarinya

Why Does My PyGame Ball Stretch Instead of Move?

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()

    # [...]
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan