OBIETTIVO VISIVO:
Un fondale dell’oceano in continuo popolamento. L’obiettivo è creare un fondale marino con: pesci che nuotano in continuo loop per popolare la scena, coralli che oscillano e un fondo sabbioso. Con variazione del movimento dei pesci al click della Canvas e reset al click della tastiera.
SCOMPOSIZIONE LOGICA:
- Background e fondo di sabbia: sfondo blu e funzione custom “drawSabbia()” con ciclo for per ripete le ellissi nella parte inferiore
- Coralli: funzione custom “drawCoral()” con ciclo for per distribuire i coralli sul fondo. L’oscillazione è gestita dalla funzione “sin(frameCount)” per dare un movimento da destra a sinistra
- Pesci: forma gestida dalla funzione custom “drawFish()”,array per la loro posizione, velocità, colore e dimensione e un ciclo for per aggiornare la loro posizione facendoli uscire da sinistra della tela e ricomparire a destra
- Interattività: Cliccando sulla tela, la velocità di tutti i pesci aumenta e cliccando sulla tastiera la velocità dei pesci torna ai valori casuali iniziali
USO AI:
Ho usato Gemini per capire come animare i coralli (che inizialmente erano statici) e come gestire in modo ottimale le proprietà casuali di molti pesci nello stesso momento.
I prompt chiave sono stati:
- “In p5.js, come faccio per far oscillare un oggetto a destra e sinistra?”
- “Come posso assegnare in modo semplice e ordinato colori,velocità e dimensioni diverse a ogni elemento di un ciclo for usando gli array?”
Grazie a questo aiuto ho capito meglio come usare la funzione let oscillation e il sin() per
creare movimenti ciclici e come gestire diversi array nel setup() senza confondermi e fissare le caratteristiche uniche di ogni pesce.

Lascia un commento
Devi essere connesso per inviare un commento.