Membetulkan Kelompok Peluru semasa Menembak
Isu berbilang peluru yang ditembak dan melekat pada umumnya disebabkan oleh tidak menguruskan kedudukan peluru dengan berkesan. Berikut ialah penyelesaian untuk memastikan bahawa hanya satu peluru dilepaskan pada satu masa dan peluru dijarakkan:
Berikut ialah contoh pelaksanaan langkah ini:
import pygame
bullet_radius = 5
bullet_speed = 10
bullet_limit = 5 # Bullet maksimum pada skrin
skrin = pygame.display.set_mode((800, 600))
jam = pygame.time.Clock()
pemain = pygame.Rect(300, 400, 50, 50)
peluru = []
lari = Benar
semasa berlari:
# Handle events for event in pygame.event.get(): if event.type == pygame.QUIT: run = False elif event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: # Check if the bullet count limit is reached if len(bullets) < bullet_limit: # Create a new bullet and add it to the list x, y = player.center facing = 1 # Left or right bullet = pygame.Rect(x + facing * player.width // 2, y, bullet_radius, bullet_radius) bullets.append(bullet) # Update the game state for bullet in bullets: # Move the bullet bullet.move_ip(bullet_speed * facing, 0) # Remove offscreen bullets if bullet.right < 0 or bullet.left > screen.get_width(): bullets.remove(bullet) # Draw the game screen.fill((0, 0, 0)) pygame.draw.rect(screen, (255, 0, 0), player) for bullet in bullets: pygame.draw.circle(screen, (255, 255, 255), bullet.center, bullet_radius) # Update the display pygame.display.update() # Tick the clock clock.tick(60)
pygame.quit()
Kod yang disemak ini memastikan bahawa hanya satu peluru dilepaskan pada satu masa dan peluru diurus dengan betul, menyelesaikan isu pengelompokan peluru dan membenarkan penembakan terkawal.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Kelompok Peluru semasa Menembak: Panduan Penyelesaian Masalah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!