Soalan: Bagaimana untuk mengesan perlanggaran antara senarai peluru dan senarai sprite menggunakan yang disediakan kelas?
Penyelesaian:
PyGame menyediakan beberapa kaedah untuk mengesan perlanggaran, termasuk:
Kaedah Perlanggaran Sprite
Untuk mengesan perlanggaran antara kelas Sprite dan Bullet yang diberikan, anda boleh menggunakan kaedah pygame.Rect.colliderect:
# Initialize sprite and bullet my_sprite = Sprite(sx, sy, name) my_bullet = Bullet(by, by) # Main loop while True: # [...] # Check for collision between sprite and bullet if my_sprite.rect.colliderect(my_bullet.rect): print("Hit")
Petua:
class Sprite: def __init__(self, x, y, name): self.image = pygame.image.load(name) self.rect = self.image.get_rect(topleft=(x, y)) # ... class Bullet: def __init__(self, x, y): self.bullet = pygame.image.load("user_bullet.BMP") self.rect = self.bullet.get_rect(topleft=(x + 23, y)) # ...
Atas ialah kandungan terperinci Bagaimana untuk Mengesan Perlanggaran Antara Senarai Peluru dan Sprite dalam Pygame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!