È uscito il Corso Java Completo — usa il coupon JAVA2026 (fino al 30 giugno)

Collisioni

Pygame.Rect

La gestione delle collisioni in Pygame si basa quasi interamente sull’oggetto pygame.Rect. Quando carichi un’immagine, puoi ottenere il suo rettangolo automaticamente:

```python player_rect = player_img.get_rect() player_rect.topleft = (100, 300) # Posiziona il rettangolo

enemy_rect = enemy_img.get_rect() enemy_rect.topleft = (400, 300) ```

Rilevare Collisioni

Rect vs Rect

```python if player_rect.colliderect(enemy_rect): print(“Collisione!”) # Fai qualcosa (es. perdi vita, resetta posizione) ```

Rect vs Point (Mouse)

Utile per i pulsanti. ```python mouse_pos = pygame.mouse.get_pos() # Restituisce una tupla (x, y)

if button_rect.collidepoint(mouse_pos): print(“Mouse sopra il bottone”) if pygame.mouse.get_pressed()[0]: # Click sinistro print(“Click!”) ```

Sprite Groups

Se usi le classi pygame.sprite.Sprite, puoi usare funzioni di collisione di gruppo molto potenti.

```python

Rimuove i proiettili che colpiscono i nemici (True, True) = uccidi entrambi

hits = pygame.sprite.groupcollide(bullets_group, enemies_group, True, True)

for bullet, enemies_hit in hits.items(): # Per ogni proiettile che ha colpito qualcosa… score += 10 ```