xxxxxxxxxx
216
//Kyle Xiao, Bitmap game, The Missing Room
// Control purple character with mouse
// hover your mouse on character to see what they are talking
// Click red or blue door to enter next scene
var now = 1;
let eye;
let scene1;
let scene3;
let title;
let reddoor;
let doorW;
let doorH;
var fade;
var fadeAmount = 1;
var fade2;
var fadeAmount2 = 1
var fade3;
var fadeAmount3 = 1
function setup() {
createCanvas(600, 400);
fade = 0;
fade2 =0;
fade3 = 0;
doorW = 75;
doorH = 143;
}
function preload(){
eye = loadImage('eye.gif');
scene1 = loadImage('scene1.png');
scene3 = loadImage('scene3.png');
title = loadImage('title.gif');
reddoor = loadImage('reddoor.png');
}
function draw() {
if (now ==1)
{
noStroke();
image(scene1, 0, 0);
image(title, 10, 30);
title.resize(300, 100);
// characters and doors
redD(328, 127);
blueD(438, 127);
blueC(112,166);
redC(181,184);
purpC();
fill(255,255,255,fade);
rect(60,150,45,65);
fill (0,0,0,fade);
text ('Hmm...', 62, 185);
if (fade < 0 && dist(mouseX,mouseY, 120, 186)<50) fadeAmount = 10;
fade += fadeAmount;
if (fade > 255 && dist(mouseX,mouseY, 120, 186)>30) fadeAmount =-2;
fade += fadeAmount;
fill(255,255,255,fade2);
rect(220,150,45,65);
fill (0,0,0,fade2);
text ('Oh...', 225, 185);
if (fade2 < 0 && dist(mouseX,mouseY, 181, 184)<50) fadeAmount2 = 10;
fade2 += fadeAmount2;
if (fade2 > 255 && dist(mouseX,mouseY, 181, 184)>30) fadeAmount2 =-2;
fade2 += fadeAmount2;
}
if (now ==2)
{
image(eye, 0, 0);
eye.resize(600, 400);
fill(255);
//rect(width-88, height-55, 75, 39);
//rect(width-150, height-60, 130, 50);
//fill(255, 0, 0);
//textSize(30);
//text("EXIT", width-86, height-25);
}
if (now ==3)
{
image(scene3, 0, 0);
blueD(91, 127);
blueC(435, 166);
blueC(495, 166);
push();
fill(255,255,255,fade3);
rect(310,85,148,65);
fill (0,0,0,fade3);
text ('You should not be here...', 315, 120);
if (fade3 < 0 && dist(mouseX,mouseY, 450, 184)<50) fadeAmount3 = 10;
fade3 += fadeAmount3;
if (fade3 > 255 && dist(mouseX,mouseY, 450, 184)>30) fadeAmount3 =-2;
fade3 += fadeAmount3;
pop();
purpC();
}
}
//blue character
function blueC(x, y){
fill(0, 12, 255);
rect(x, y, 30, 104);
fill(255); //left eye
rect(x+4+(mouseX-(x+4))/50, 180, 8, 8);
fill(255); //right eye
rect(x+18+(mouseX-(x+18))/50, 180, 8, 8);
}
//red character
function redC(x,y){
fill(246, 10, 60);
rect(x, y, 30, 86);
fill(255); //left eye
rect(x+4+(mouseX-(x+4))/50, 200, 8, 8);
fill(255); //right eye
rect(x+18+(mouseX-(x+18))/50, 200, 8, 8);
}
//purple character
function purpC(){
fill(150, 2, 255);
rect(mouseX, 220, 30, 50);
fill(255);//left eye
rect(mouseX+5, 227, 8, 8);
fill(255);//right eye
rect(mouseX+19, 227, 8, 8);
}
//red door
function redD(x,y){
fill(246, 10, 60); //Red door
//rect(328, 127, 76, 143);
rect(x, y, 76, 143);
if (dist(mouseX, mouseY, x+38, y+70)<30)
{
rect(x-20, y-39, 76+40, 143+40);
}
}
//blue door
function blueD(x,y){
fill(0, 12, 255);//Blue door
rect(x, y, 75, 143);
if (dist(mouseX, mouseY, x+38, y+70)<30)
{
rect(x-20, y-39, 76+40, 143+40);
}
}
function mouseReleased() {
if (dist(mouseX, mouseY, 91+45, 127+80)<30 && now ==3)
{
now=1;
}
if (dist(mouseX, mouseY,width-150+35, height-60+20)<30 && now ==2)
{
now=1;
}
if (dist(mouseX, mouseY, 328+38, 108+70)<30 && now ==1)
{
now =2;
}
if (dist(mouseX, mouseY, 438+38, 108+70)<30 && now ==1)
{
now =3;
}
}