Мой код кажется мне чистым Я не понимаю, почему это не сработает.Java: простая переменная Проблема
Существует кнопка, она должна изменить спрайт, нарисованный, когда вы нажимаете на него (этот шаг работает), и когда вы нажимаете на него, также предполагается добавить +1 к моей переменной planetCount, цель этого шага - чтобы получить планету спрайт нарисованную:
right.addListener(new ClickListener() {
public void clicked(InputEvent event, float x, float y) {
sound.play(0.2f);
if (planetCount <= 4) {
choixRegion.setRegion(choix2Region);
choix2Region.setRegion(choix3Region);
choix3Region.setRegion(choix4Region);
choix4Region.setRegion(choix5Region);
choix5Region.setRegion(choixRegion);
} else if(planetCount < 4){
planetCount = planetCount + 1;
} else if(planetCount > 4){
planetCount = 4;
}
}
});
и проблемы есть, для всех вариантов планеты она дает возвращает мне тот же экран (StartGame) подытожить, если у меня есть planetCount = 1, он должен возвращает меня Itryon-х Экран, но независимо от значения planetCount, он всегда возвращает экран StartGame:
oui.addListener(new ClickListener() {
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
if(planetCount == 0){
game.setScreen(new StartGame(game));
} else if(planetCount == 1){
game.setScreen(new Itryon(game));
} else if (planetCount == 2){
game.setScreen(new Nernel(game));
} else if(planetCount == 3){
game.setScreen(new Abela(game));
} else if(planetCount == 4){
game.setScreen(new StartGame(game));
}
sound.play(0.2f);
music.stop();
return true;
}
Итак, где моя ошибка?
Параметр 'еще if' бит выполняется только если начальная' if' условие ложно. В вашем случае ветка 'else if' никогда не будет запущена. – assylias
Это зависит от того, чего вы хотите, но это будет вариант. – assylias