Итак, я хотел написать игру для обработки, в которой вы пытаетесь поймать падающий мяч баскетбольным кольцом. Все идет довольно хорошо, пока в какой-то момент, когда вы выиграете или проиграете и нажмете «перезапустить», игра не перезапустится. Это мой метод setup () (только соответствующая часть инициализации переменных):
void setup() {
game = new Game();
scr = new SplashScreen();
gameBackground = new Image();
background = new DynamicBackground();
button = new Rect();
/* Music set */
intro = new Music();
lifeMusic = new Music();
failMusic = new Music();
/* Ball and ring set */
ball = new Image();
ring = new Image();
/* Life points set */
life1 = new Image();
life2 = new Image();
life3 = new Image();
life4 = new Image();
failCount = 3;
sucCount =0;
winStr = "YOU WON!";
gameOverStr = "GAME OVER";
restartStr = "Resetart";
flag = true;
win = new Text();
gameOver = new Text();
restart = new Text();
size(710, 490);
.....
}
, а это мой mousePressed
метод:
void mousePressed(){
if(mouseX>button.x && mouseX <button.x+button.width && mouseY>button.y && mouseY <button.y+button.height){
loop();
setup();
}
}
, как вы видите, я пыталсясделать noLoop()
, когда игра окончена, а затем, когда вы нажмете на кнопку, которую я назвал «перезагрузка», она будет loop()
и setup()
.
Игра застревает, когда я нажимаю «перезагрузка»почему?