我有一个关卡场景,我允许用户选择一个关卡。
但要进入下一级别,用户必须完成之前的级别。
现在是自动解锁的第一关。
完成后我想解锁第二层。当第二关完成后,解锁第三关。
我想不出我会怎么做。我想到了 sharedpreferences 但不知道我应该为此使用的逻辑。
我需要一些帮助来了解这背后的逻辑。
谁能帮帮我?
编辑:
在我的游戏场景中,当游戏完成时,我将其称为 sharedpreference
editor.putString("level_completed"+level, "unlocked");
editor.commit();
那我就..
String levelStatus = preference.getString("level_completed:"+level, "locked");
if(levelStatus.equals("unlocked")){
}else{
if(level == 0){
box.setUserData("unlocked");
}else{
box.setColor(1.0f,0.0f,0.0f);
box.setUserData("locked");
}
}
在关卡选择场景中查看关卡是否解锁。
这似乎效果不佳。应该解锁的关卡没有解锁。
最佳答案
您可以通过多种方式来处理它。如果进度始终是线性的(1、2、3、4),那么您可以只存储一个“最大解锁级别”的整数,然后在您完成一个级别时更新它。否则,你也可以有很多 boolean 值,比如“level 2 unlocked”,当你完成 level 1 时,你可以将“level 2 unlocked”设置为 true。共享首选项绝对是一种合理的方式。
关于java - 在 Android 游戏逻辑中解锁关卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9628093/