This is my crazyDog.js. I've been working on it all semester. For me, the hardest thing was to make all the stars. I work on the stars for many days and It's very complicated. I'm proud of it because I think when I'm finished with the stars, the stars all look very well. The code for my artwork is below.
The animation code is released under the GNU Lesser General Public License v2.1.
var stars = [];
function setup() {
createCanvas(1800, 780);
for (var i = 0; i < 1000; i++) {
stars[i] = new Star();
}
}
class Dog {
constructor (xposition, size, hColor, eColor)
{ this.xposition = xposition;
this.faceSize = size;
this.hatColor = hColor;
this.eyeColor = eColor;
}
draw () {
//ears
fill(color("beige"));
circle(this.xposition+40, 420, 25);
circle(this.xposition+80, 420, 25);
//neck
fill(color("beige"));
rect(this.xposition+60, 455, 40, 20);
//face
fill(color("beige"));
circle(this.xposition+60,450,70);
//eye
fill(color(this.eyeColor));
ellipse(this.xposition+45,440,15,15);
ellipse(this.xposition+75,440,15,15);
//hat
fill(color(this.hatColor));
rect(this.xposition+23,405, 75, 20);
rect(this.xposition+40, 367, 38, 38);
//hat decorate
fill(250, 245, 107);
rect(this.xposition+23,411, 75, 5);
//mouth
fill(color("red"));
circle(this.xposition+60, 470, 20);
//nose
fill(145, 57, 57);
ellipse(this.xposition+60, 452, 20, 10);
//blush
fill('#fae');
circle(this.xposition+38, 458, 13);
circle(this.xposition+80, 458, 13);
//legs
fill(color("beige"));
ellipse(this.xposition+110, 500, 10, 40);
ellipse(this.xposition+130, 500, 10, 40);
//tails
fill(color("beige"));
ellipse(this.xposition+140, 460, 10, 40);
//body
fill(color("beige"));
circle(this.xposition+116, 480, 60);
//stage
fill(255,255,255);
rect(30, 520, 2000, 60);
//moon
fill(250, 237, 55);
circle(80, 270, 80);
fill(0,0,0);
circle(100, 260, 80);
//star
fill(250, 237, 55);
beginShape();
//vertex(30, 40);
//vertex(50, 40);
//vertex(60, 20);
//vertex(70, 40);
//vertex(90, 40);
//vertex(70, 60);
vertex(90, 90);
vertex(60, 75);
vertex(50, 75);
vertex(60, 75);
endShape(CLOSE);
}
}
//class star//
class Star {
constructor() {
this.x = random(width);
this.y = random(height);
this.size = random(0.25, 3);
this.t = random(TAU);
}
draw() {
this.t += 0.1;
var scale = this.size + sin(this.t) * 2;
noStroke();
ellipse(this.x, this.y, scale, scale);
}
}
function DogArray (n) {
let outputArray = [];
for (let i = 0; i < n ; i++) {
outputArray.push(new Dog (20 + (i*120),100, "blue", "black"))
}
return outputArray
}
let myDog = DogArray(15);
//console.log(myFaces);
function draw() {
background(0, 0, 0);
for (var i = 0; i < stars.length; i++) {
stars[i].draw();
}
let dog2 = new Dog (200,100, "red", "blue");
//dog2.draw();
for(let i = 0; i < myDog.length ; i++){
myDog[i].draw()
}
}