xxxxxxxxxx
class Pacman {
constructor(x, y) {
this.x = x;
this.y = y;
this.vecteur = createVector(0,0,0);
}
draw() {
var vecteurSouris = createVector(mouseX - this.x, mouseY - this.y).div(1000); //Vecteur de Pac-Man à la souris, divisé par 1000
this.vecteur.mult(0.99); //Pour que Pac-Man perdre de la vitesse la vitesse (ou il irait en orbite autour de la souris)
this.vecteur.add(vecteurSouris);
this.x += this.vecteur.x;
this.y += this.vecteur.y;
var vecteur = createVector(mouseX - this.x, mouseY - this.y); //Le vecteur du curseur jusqu'à pacman
var angle = createVector(1,0).angleBetween(vecteur);
fill("#FEFE33");
if(mouseY < this.y) { //Si Pac-Mab est au dessus de la souris
arc(this.x, this.y, 20, 20, -angle+QUARTER_PI*var_cyclique, -angle-QUARTER_PI*var_cyclique);
} else {
arc(this.x, this.y, 20, 20, angle+QUARTER_PI*var_cyclique, angle-QUARTER_PI*var_cyclique);
}
}
}
var pac; //Pac-Man
var t = 0;
var var_cyclique;
function setup() {
createCanvas(windowWidth, windowHeight);
noStroke();
frameRate(60);
pac = new Pacman(random(0, windowWidth), random(50, windowHeight));
}
function draw() {
background(100);
t += 1/3;
var_cyclique = sin(t) /2 + 0.5; //Variation cyclique entre 0 et 1 en 3 rafraichissements
pac.draw();
}