непрерывное переключение экрана одним нажатием кнопки? - PullRequest
2 голосов
/ 03 апреля 2020

Здравствуйте, я бы хотел непрерывно переключаться между экранами одним нажатием кнопки, используя мою мышь (щелчок правой кнопкой мыши), но я не знаю, как этого добиться? Мне удалось переключить экран с помощью мыши, но он останавливается, когда он попадает на экран 3. Я хотел бы переключаться все время каждый раз, когда я нажимаю, а не останавливаться на экране 3.

Код:

int screen = 0;
void setup() {
size(200, 100);
}
void draw() {
background(0);
fill(255);
if(screen == 0) {
text("START THE GAME!!!", 20, 50);
}
if(screen == 1) {
text("your on level 1", 20, 50);
}
if(screen == 2) {
text("Ooh man onto level 2", 20, 50);
}
if(screen == 3) {
text("YOU HAVE WON!!! Gratz", 20, 50);
}
}

void mousePressed() {
screen = min(screen + 1, 3);
}

1 Ответ

2 голосов
/ 03 апреля 2020

В настоящее время вы устанавливаете переменную screen на меньшее из screen + 1 и 3. Поэтому, когда screen достигает 3 и вы снова щелкаете мышью, для него снова устанавливается значение 3.

Это можно исправить, изменив значение mousePressed на:

void mousePressed(){
     screen = (screen + 1) % 4;
}

Таким образом, экран увеличивается на единицу каждый раз, когда вы щелкаете мышью, но после того, как он достигает 3, при следующем щелчке он возвращается к 0, потому что 4 % 4 = 0, и вы снова начинаете с экрана 0.

...