Array di oggetti in movimento

// height=100 lines=auto
function Circle( velX, velY ) {
    this.pos = createVector();
    this.vel = createVector( velX, velY );
    this.display = function() {
        this.pos.add( this.vel );
        ellipse( this.pos.x,this.pos.y, 11 );
    };
}

var circles = [];

function setup() {
    // creazione di 50 cerchi
    for (var i=0;  i<50;  ++i) {
        var c = new Circle( random(), random() );
        circles.push( c );
    }
}

function draw() {
    background(220);
    // visualizzazione dei cerchi
    for (var i=0;  i<circles.length;  ++i) {
        circles[i].display();
    }
}
function Circle( velX, velY ) {
}

Definisce una classe che gestisce un cerchio con possibilità di movimento.

this.pos = createVector();

Posizione preimpostata a 0,0. Come per altre classi, p5.js prevede una funzione che usa automaticamente il new. Il codice corrisponderebbe a:

this.pos = new p5.Vector();
var c = new Circle( random(), random() );

Crea cerchi con velocità orizzontale e verticale casuali da 0 a 1 (escluso) e quindi solo verso destra e verso il basso.