java - 在 Android 游戏逻辑中解锁关卡

标签 java android andengine

我有一个关卡场景,我允许用户选择一个关卡。

但要进入下一级别,用户必须完成之前的级别。

现在是自动解锁的第一关。

完成后我想解锁第二层。当第二关完成后,解锁第三关。

我想不出我会怎么做。我想到了 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/

相关文章:

java - 如何在没有参数和参数的方法之间传递变量

android - 淡入淡出 Java 中的 Android 动画

java - 在 AndEngine 中加载 SVG

java - 如何在不同的时间启动多个移动的 Sprite 对象?

java - 如何分解方法并处理它

java - 验证电子邮件地址是否包含 "@"和 "."

java - Swing 定时器与 Util 定时器

java - 一个微调器中是否可以有两种不同的字体大小

java - 不同风格的 Android 应用程序的动态应用程序流

android - AndEngine - 场景中所有 textureRegion 的一个 textureAtlas;可能的?