added working pause feature

This commit is contained in:
Mees Roelofsz
2024-01-12 11:08:17 +01:00
parent 78d077e7d0
commit a9932ec6fc
2 changed files with 71 additions and 25 deletions

View File

@@ -140,7 +140,7 @@ function movementCheck() {
}
async function keyPressed() {
if (!isDead) {
if (!isDead && !homescreenOn && !pausescreenOn) {
if (keyIsDown(LEFT_ARROW) && playerPosX > 0 + radius) {
playerPosX -= playerSpeed;
}
@@ -236,22 +236,49 @@ async function keyPressed() {
if (buttonSelectHome == 1) {
if (keyCode == ENTER) {
homescreenOn = false;
scoreMenuOn = true;
scorescreenOn = true;
reset();
keyReleasedFlag = false;
}
}
}
if (!homescreenOn && !isDead && keyReleasedFlag) {
if (keyCode == 27 && !escaped) {
escaped = true;
console.log("pause");
pausescreenOn = true;
shotSpeed = 0;
playerSpeed = 0;
keyReleasedFlag = false;
}
if (escaped) {
if (keyCode == UP_ARROW) {
buttonSelectPause -= 1;
keyReleasedFlag = false;
console.log(buttonSelectPause)
}
if (keyCode == DOWN_ARROW) {
buttonSelectPause += 1;
keyReleasedFlag = false;
console.log(buttonSelectPause)
}
if (buttonSelectPause == 0) {
if (keyCode == ENTER) {
console.log("resume");
pausescreenOn = false;
keyReleasedFlag = false;
escaped = false;
}
}
if (buttonSelectPause == 1) {
if (keyCode == ENTER) {
console.log("main menu");
homescreenOn = true;
pausescreenOn = false;
escaped = false;
reset();
keyReleasedFlag = false;
}
}
}
}
}
@@ -286,7 +313,7 @@ function draw() {
buttonSelectHome = constrain(buttonSelectHome, 0, 1);
buttonSelectPause = constrain(buttonSelectPause, 0, 1);
if (homescreenOn == true && scoreMenuOn == false) {
if (homescreenOn == true && scorescreenOn == false) {
homescreen();
if (buttonSelectHome == 0) {
push()
@@ -305,17 +332,35 @@ function draw() {
pop()
}
}
if (homescreenOn == false && scoreMenuOn == false) {
if (!homescreenOn && !scorescreenOn) {
game();
}
if (scoreMenuOn == true) {
if (scorescreenOn) {
scoremenu();
}
if (pausescreenOn == true) {
if (pausescreenOn) {
pauseMenu();
}
if (isDead == true) {
if (entered == true) {
if (pausescreenOn) {
if (buttonSelectPause == 0) {
push()
stroke(205, 205, 205)
strokeWeight(2)
fill(0, 0, 0, 0)
rect(width / 2 - 100, height / 2, 200, 40)
pop()
}
if (buttonSelectPause == 1) {
push()
stroke(205, 205, 205)
strokeWeight(2)
fill(0, 0, 0, 0)
rect(width / 2 - 100, height / 2 + 50, 200, 40)
pop()
}
}
if (isDead) {
if (entered) {
if (buttonSelectDead == 0) {
push()
stroke(205, 205, 205)
@@ -651,19 +696,20 @@ function game() {
x2 = width / 2;
y2 = 100;
}
if (!pausescreenOn) {
bullets.forEach(myBullet => {
//zolang mybullet bestaat blijft hij drawen en updaten
({ hit, shot, isOffScreen, originalPos } = myBullet.update(playerPosX, playerPosY));
myBullet.draw();
bullets.forEach(myBullet => {
//zolang mybullet bestaat blijft hij drawen en updaten
({ hit, shot, isOffScreen, originalPos } = myBullet.update(playerPosX, playerPosY));
myBullet.draw();
if (isOffScreen == true) {
myBullet.hit = true;
shot = false;
}
});
//blijf de bullet tekenen zolang hit false is
bullets = bullets.filter(bullet => !bullet.hit);
if (isOffScreen == true) {
myBullet.hit = true;
shot = false;
}
});
//blijf de bullet tekenen zolang hit false is
bullets = bullets.filter(bullet => !bullet.hit);
}
}
}

View File

@@ -1,6 +1,6 @@
let buttonSelectScore = 0;
let searchName = '';
let scoreMenuOn = false;
let scorescreenOn = false;
function scoremenu() {
textSize(50)
@@ -11,7 +11,7 @@ function scoremenu() {
function keyPressed() {
// Check if the back button was selected and the Enter key was pressed
if (keyCode == ENTER && buttonSelectScore == 0) {
scoreMenuOn = false;
scorescreenOn = false;
}
}