Ich versuche ein Programm zu schreiben, in dem der Endbildschirm des Spiels erst erscheint, wenn die letzte Animation beendet ist. Ich benutze einen Zähler, der implementiert wird, nachdem jedes Objekt entfernt wurde (das ist erst, nachdem es seine Animation beendet hat) und wenn dieser Zähler auf Null kommt, sollte den Endbildschirm anzeigen. Leider, von dem was ich sagen kann, registriert sich die Gegenanweisung überhaupt nicht. Ich habe eine Druckanweisung eingefügt, die nicht funktioniert.p5.play counter funktioniert nicht
var star;
var score;
var counter;
function setup() {
createCanvas(600,400);
score = 0;
counter = 20;
for (var s = 0; s < 20; s++) {
star = createSprite(random(width), random(height));
star.addAnimation("idle", idleAnim);
star.addAnimation("explode", explAnim);
star.changeAnimation("idle");
star.onMousePressed = function() {
this.changeAnimation("explode");
this.animation.looping = false;
score +=1
if (this.getAnimationLabel() == "explode" && this.animation.getFrame() == this.animation.getLastFrame()) {
this.remove();
counter -= 1;
print(counter);
}
}
}
}
function draw() {
if (score == 20 && counter == 0) {
background(255,222,51)
textSize(90);
fill(0)
text("YOU WIN!",95,225)
} else {
drawSprites();
}
}