xxxxxxxxxx
42
//abscisse et ordonnée de l'ellipse
let x =10, y = 20;
//direction et vitesse des déplacements
let direction ={
vitX:4,
vitY:2,
};
function setup() {
createCanvas(400, 400);
}
function draw() {
//le fond change selon y
background(map(y,0,width,50,200) );
//remplissage selon la vitesse et l'abscisse de l'ellipse
fill(20*direction.vitY,20*direction.vitX,map(x,0,400,0,255) );
//l'ellipse dont la taille varie selon la vitesse
ellipse(x, y, 20+2*direction.vitX,20+2*direction.vitY);
//x et y changent en fonction de la vitesse
x+=direction.vitX;
y+=direction.vitY;
//si on tape un des bords, rebond d'une vitesse aléatoire dans la direction opposée
if (x > width) {
direction.vitX = random(-7,-1);
}
else if (x < 0 ) {
direction.vitX = random(1,7);
}
if (y >height) {
direction.vitY = random(-7,-1);
}
else if (y <0 ) {
direction.vitY = random(1,7);
}
}