Итак, у меня есть игра, в которой, если мой пользователь сталкивается с изображением, это увеличивает счет на 1. Однако, потому что я использую этот метод обнаружения столкновений и оператор if, чтобы увеличить мой счет, во время продолжительности столкновения счет увеличится на go примерно на 30, так как метод столкновения обнаруживает, что он сталкивается несколько раз, когда они проходят друг через друга Как бы мне остановить его увеличение более чем на один раз. Вот мой код:
void draw () {
if (gameMode == Active) {
if(crash() == false) {
drawBackground();
textSize(32);
fill(22,100,8);
text("Score: " + score ,20,40); //calls the drawBackground method
alien1.update();
alien2.update(); //constantly calls the move and render method for the alien and defender
alien3.update();
user1.render();
Burger.update();
if(Bcrash() == true) {
if(Bcrash() == false) {
score = score + 1;
}
}
} else {
gameMode = End;
textSize(32);
fill(22,100,8);
text("Game Over, press 'r' to restart",150,200);
}
}
}
boolean Bcrash() {
return user1.crash(Burger));
}
// Burger.class (Editor's note: I guess it's User.class)
public class User {
boolean crash(Burger A) {
return(abs(x-A.x)<=30) && abs(y-A.y)<=30;
}
}