Dalam konteks ini, untuk menembak peluru menggunakan bar ruang, kami mengesyorkan agar anda menggunakan pendekatan yang lebih cekap dengan menggunakan senarai untuk mengurus kedudukan peluru. Ini melibatkan mencipta senarai (bullet_list) yang menyimpan kedudukan awal bullet direkodkan sebagai koordinat [start_x, start_y]. Apabila peluru dilepaskan, senarai ini kemudiannya ditambah dengan kedudukan semasa objek menembak (iaitu, pemain atau musuh).
Untuk mengendalikan pergerakan peluru dan rendering, kami menggunakan gelung bersarang. Gelung luar berulang melalui setiap peluru dalam senarai, manakala gelung dalam mengendalikan pergerakan dan lukisan peluru individu. Jika mana-mana titik keluar dari skrin, ia kemudiannya dialih keluar daripada senarai.
Berikut ialah coretan kod yang dipertingkatkan yang menggabungkan kaedah ini:
<code class="python">bullet_list = [] while run == True: # Handle events for event in pygame.event.get(): if event.type == pygame.QUIT: run = False elif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE: bullet_list.append([start_x, start_y]) # Update bullet positions for bullet_pos in bullet_list[:]: bullet_pos[0] += move_bullet_x bullet_pos[1] += move_bullet_y if not screen.get_rect().colliderect(bullet_image.get_rect(center = bullet_pos): bullet_list.remove(bullet_pos) # Draw remaining bullets for bullet_pos in bullet_list: screen.blit(bullet_image, bullet_image.get_rect(center = bullet_pos))</code>
Selain itu, ingat untuk menggunakan fungsi key_get_pressed() Pygame untuk memantau keadaan utama dan menyesuaikan pergerakan pemain dengan sewajarnya. Dengan melaksanakan teknik ini, anda boleh mencapai tembakan peluru yang lebih lancar dan cekap dalam permainan anda.
Atas ialah kandungan terperinci Bagaimana untuk Menembak Peluru Dengan Cekap Menggunakan Bar Ruang dalam Pygame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!