/*
Aaron Lee
Section C
sangwon2@andrew.cmu.edu
Project-10-Sonic Sketch
*/
var angry;
var happy;
var puzzled;
var sad;
function preload() {
// call loadImage() and loadSound() for all media files here
angry = loadSound("https://courses.ideate.cmu.edu/15-104/f2019/wp-content/uploads/2019/11/angry-1.wav");
happy = loadSound("https://courses.ideate.cmu.edu/15-104/f2019/wp-content/uploads/2019/11/happy.wav");
puzzled = loadSound("https://courses.ideate.cmu.edu/15-104/f2019/wp-content/uploads/2019/11/puzzled.wav");
sad = loadSound("https://courses.ideate.cmu.edu/15-104/f2019/wp-content/uploads/2019/11/sad.wav");
}
function setup() {
// you can change the next 2 lines:
createCanvas(400, 100);
background(255);
//======== call the following to use sound =========
useSound();
}
function soundSetup() { // setup for audio generation
// you can replace any of this with your own audio code:
angry.setVolume(1);
happy.setVolume(2);
puzzled.setVolume(1);
sad.setVolume(1);
}
function draw() {
background(255);
//angry
fill("red");
rect(0, 0, 100, 100);
fill("black");
arc(20, 30, 10, 10, 0, PI);
arc(80, 30, 10, 10, 0, PI);
line(25, 80, 75, 80);
//happy
fill("yellow");
rect(100, 0, 100, 100);
fill("black");
ellipse(120, 30, 10, 10);
ellipse(180, 30, 10, 10);
arc(150, 50, 80, 80, 0, PI);
//puzzled
fill("green");
rect(200, 0, 100, 100);
fill("black");
ellipse(220, 30, 10, 10);
ellipse(280, 30, 10, 10);
ellipse(250, 80, 10, 10);
//sad
fill("blue");
rect(300, 0, 100, 100);
fill("black");
line(315, 30, 325, 30);
line(375, 30, 385, 30);
arc(350, 90, 80, 80, PI, 0);
}
function mousePressed() {
//setting mousepresed location
if (mouseX > 0 & mouseX < 100 ) {
angry.play();
} else {
angry.pause();
}
if (mouseX > 100 & mouseX < 200) {
happy.play();
} else {
happy.pause();
}
if (mouseX > 200 & mouseX < 300) {
puzzled.play();
} else {
puzzled.pause();
}
if (mouseX > 300 & mouseX < width) {
sad.play();
} else {
sad.pause();
}
}
In this project, I created 4 different emojis: angry, happy, puzzled and sad. The associated sound plays when the mouse is pressed.