xxxxxxxxxx
150
/*
p5.js exercise_04-pt2 — DMS 121
University at Buffalo, Department of Media Study
Designed by Bernard Aaron Dolecki
www.BernardAaronDolecki.com
2017-2020
*/
//GLOBAL DECLARATIONS
//audio
var elevator;
var et;
var ouch;
var nightBefore;
var whatsThis;
//images
var menu;
var alights;
var etSong;
var rightArrowHover;
var rightArrowPressed;
var leftArrowHover;
var leftArrowPressed;
//variables
var scene = 0;
var resize = 0;
var grow = 0;
function preload() { //prepares our content to be accessed
soundFormats('m4a', 'wav');
elevator = loadSound('assets/elevator');
etSong = loadSound('assets/etSong');
ouch = loadSound('assets/ouch');
nightBefore = loadSound('assets/nightBefore');
whatsThis = loadSound('assets/whatsThis');
alights = loadImage('assets/lights.jpg');
et = loadImage('assets/et.jpg');
rightArrowHover = loadImage('assets/rightArrowHover.png');
leftArrowHover = loadImage('assets/leftArrowHover.png');
menu = loadImage('assets/menu.jpg');
} //ends preload
function setup() { // statements in setup are executed once
createCanvas(1000, 600);
elevator.loop();
} //ends setup
function draw() { // statements in draw are looped
if (resize == 0) { //this tells grow to add to itself
grow = grow + 1;
if (grow == 100) {
resize = 1;
}
}
if (resize == 1) { //this tells grow to subtract from itself
grow = grow - 1;
if (grow == 0) {
resize = 0;
}
}
if (scene == 0) { //menu
background(menu);
ouch.pause();
whatsThis.pause();
etSong.pause();
nightBefore.pause();
push(); //starts a new drawing state
translate(500, 350); //moves the origin point
rotate(PI / mouseX + mouseY);
fill(mouseX / 3, mouseY / 4, (mouseX + mouseY) / 12, 150);
rect(0, 0, grow + 20, grow + 20);
rotate(PI / mouseX - mouseY * 2);
fill(mouseY * 3, mouseX / 4, (mouseX - mouseY) / 10, 150);
rect(-grow, grow, grow + 20, grow + 20);
}
if (scene == 1) { //ET
background(et);
whatsThis.pause();
elevator.pause();
nightBefore.pause();
} //ends scene 1
if (scene == 2) { //Nightmare Before Christmas
background(jackSkellington);
ouch.pause();
elevator.pause();
etSong.pause();
} //ends scene 2
pop(); //restores the original drawing state
//ends scene 0
} //ends draw
function mousePressed() {
if (scene == 0) {
if (mouseX > 14 && mouseX < 95 && mouseY > 266 && mouseY < 348) {
etSong.loop();
scene = 1;
}
if (mouseX > 906 && mouseX < 986 && mouseY > 266 && mouseY < 348) {
nightBefore.loop();
scene = 2;
}
} //ends scene 0
if (scene == 1) {
if (mouseX < 150 && mouseY > 525) {
elevator.loop();
scene = 0;
}
if (mouseX > 850 && mouseY > 525) {
nightBefore.loop();
scene = 2;
}
} //ends scene 1
if (scene == 2) {
if (mouseX < 150 && mouseY < 75) {
elevator.loop();
scene = 0;
}
if (mouseX > 850 && mouseY < 75) {
etSong.loop();
scene = 1;
}
if (mouseX > 475 && mouseX < 660 && mouseY > 200 && mouseY < 425) {
whatsThis.stop(); //notice how if this line is gone then we get a new sound every click
whatsThis.play();
}
} //ends scene 2
} //ends mousePressed