OBBIETTIVO VISIVO:
L’obiettivo è rappresentare il vulcano Stromboli con il villaggio di Ginostra alle sue pendici. Il mare alla base della tela si muove con un ondeggiamento continuo, simulando il moto ondoso. L’utente può interagire con la scena: premendo il mouse, il vulcano si attiva simulando un’eruzione.
SCOMPOSIZIONE LOGICA DEL CODICE:
- Inizializzazione e Variabili: Definizione del numero di lapilli e creazione di array per gestire posizione e velocità di ogni frammento.
- Setup e Reset: Funzione setup() per creare la tela e ciclo for per inizializzare ogni lapillo tramite la funzione custom ripristinaLapillo().
- Sfondo e Vulcano: Impostazione del colore del cielo e funzione custom drawVulcano() per disegnare il profilo della montagna al centro.
- Villaggio: Funzioni custom per tre tipologie di case che usano translate() per posizionare basi e tetti in vari punti della scena.
- Mare Animato: Funzione custom drawMare() che utilizza un ciclo for e la funzione sin(frameCount) per generare un movimento ondulatorio dell’acqua.
- Meccanica dell’Eruzione: Funzione custom gestisciEruzione() che calcola il movimento dei lapilli applicando una forza di gravità costante sull’asse verticale.
- Ciclo di Vita dei Lapilli: Controllo condizionale per resettare i lapilli alla sommità del vulcano garantendo un flusso continuo.
- Interattività: L’intero sistema di particelle (eruzione) viene attivato e visualizzato solo quando l’utente tiene premuto il tasto del mouse.
Uso AI:
Ho utilizzato Gemini per capire come rendere il movimento del mare usando il sin () e per aiutarmi nell’animazione dell’eruzione, nello specifico per ripristinare l’esplosione.

Lascia un commento
Devi essere connesso per inviare un commento.