Atividade 6 - Aula 9
Exemplo:
Código:
let form1;
let form2;
let form3;
function setup() {
createCanvas(600, 400);
form1 = new Forma(random(20, 50), random(0, 100) < 50);
form2 = new Forma(random(20, 50), random(0, 100) < 50);
form3 = new Forma(random(20, 50), random(0, 100) < 50);
}
function draw() {
background(0);
form1.mover();
form1.colidir();
form1.exibir();
form2.mover();
form2.colidir();
form2.exibir();
form3.mover();
form3.colidir();
form3.exibir();
}
class Forma{
constructor(tamanho, quadrado = false){
this.tamanho = tamanho;
this.x = random(this.tamanho/2, width - this.tamanho/2);
this.y = random(this.tamanho/2, height - this.tamanho/2);
this.pX = random(2, 4);
this.pY = random(2, 4);
this.cor = color(0, 150, 180);
this.quadrado = quadrado;
}
mover(){
this.x += this.pX;
this.y += this.pY;
}
mudaCor(){
this.cor = color(180, 0, 150);
}
colidir(){
if(this.x >= width - this.tamanho/2 || this.x <= 0 + this.tamanho/2){
this.pX = -this.pX;
}
if(this.y >= height - this.tamanho/2 || this.y <= 0 + this.tamanho/2){
this.pY = -this.pY;
}
}
exibir(){
noStroke();
fill(this.cor);
if(this.quadrado) {
rectMode(CENTER);
rect(this.x, this.y, this.tamanho, this.tamanho);
} else {
ellipse(this.x, this.y, this.tamanho, this.tamanho);
}
}
}
Código:
let form1;
let form2;
let form3;
function setup() {
createCanvas(600, 400);
form1 = new Forma(random(20, 50), random(0, 100) < 50);
form2 = new Forma(random(20, 50), random(0, 100) < 50);
form3 = new Forma(random(20, 50), random(0, 100) < 50);
}
function draw() {
background(0);
form1.mover();
form1.colidir();
form1.exibir();
form2.mover();
form2.colidir();
form2.exibir();
form3.mover();
form3.colidir();
form3.exibir();
}
class Forma{
constructor(tamanho, quadrado = false){
this.tamanho = tamanho;
this.x = random(this.tamanho/2, width - this.tamanho/2);
this.y = random(this.tamanho/2, height - this.tamanho/2);
this.pX = random(2, 4);
this.pY = random(2, 4);
this.cor = color(0, 150, 180);
this.quadrado = quadrado;
}
mover(){
this.x += this.pX;
this.y += this.pY;
}
mudaCor(){
this.cor = color(180, 0, 150);
}
colidir(){
if(this.x >= width - this.tamanho/2 || this.x <= 0 + this.tamanho/2){
this.pX = -this.pX;
}
if(this.y >= height - this.tamanho/2 || this.y <= 0 + this.tamanho/2){
this.pY = -this.pY;
}
}
exibir(){
noStroke();
fill(this.cor);
if(this.quadrado) {
rectMode(CENTER);
rect(this.x, this.y, this.tamanho, this.tamanho);
} else {
ellipse(this.x, this.y, this.tamanho, this.tamanho);
}
}
}
Comentários
Postar um comentário