Вот уже около двух дней у меня болит голова!
У меня игра с уровнями.Когда сцена выбора уровня загружена, я проверяю переменную maxLevelReached int.
При первом воспроизведении пользователем переменная maxlevelreached равна 0.
Первый уровень = 0, так что я делаюэто когда сцена загружена ...
private int level = 60;
if (level >= maxLevelReached || maxLevelReached == 0){
box.setColor(0, 0, 0);
}
else
{
box.setColor(0, 0.9f, 0);
}
Как видите, я проверяю, не ниже ли уровень maxLevel или равен ему.
Итак, чтобы запустить пользователядолжен быть в состоянии играть до первого уровня, а затем, когда он будет завершен, второй уровень будет разблокирован.Я знаю, что это кажется действительно простым, но по какой-то причине я боролся с этим.
Если пользователь нажимает на уровень, и он еще не разблокирован, то так я тестирую, чтобы запустить уровень илине ..
Log.e("Level:"+levelClicked, "Level");
if(levelClicked >= maxLevelReached){
levelClicked = levelToLoad;
Intent intent = new Intent(level.this, GameLevel.class);
intent.putExtra("level", levelClicked);
startActivity(intent);
}
Это тоже не работает ... По какой-то причине все уровни можно воспроизводить, когда это должен быть только первый уровень, с которого начинается.
Здеськак разблокировать уровни после завершения предыдущего уровня ..
int CurrentLevel = level+1;
Log.e("Current Level unlocked", String.valueOf(CurrentLevel));
editor.putInt("max_level",CurrentLevel);
editor.commit();
Затем я делаю это в сцене выбора уровня ...
int unlockedLevel = preference.getInt("max_level",0);
maxLevelReached += unlockedLevel;
Я знаю, это похоже на беспорядок,Действительно, я верю, что это вызывает у меня головную боль.Может ли кто-нибудь помочь мне, пожалуйста?