Android: 使用对象存储游戏变量

Android: Using an Object to store game variables

我正在开发一个简单的 Android 游戏,其中包含一个 MainActivity 和一个 GameActivity。在 MainActivity 中,用户可以 select 一些选项,然后使用这些选项开始游戏 options/variables(即游戏模式、游戏难度等)

Intent gameIntent = new Intent(this, GameActivity.class);
gameIntent.putExtra("gameMode", 3);
startActivity(gameIntent);

因为我有相当多的变量要存储(准确地说是 26 个)并且因为 Java 是面向对象的,所以我考虑使用我自己的游戏 class 来存储和检索所有这样的变量:

public class Game implements Parcelable {

    private int gameMode;
    private int gameDifficulty;

    // Constructor
    public Game(int gameMode, int gameDifficulty) {
        this.gameMode = gameMode;
        this.gameDifficulty = gameDifficulty;
    }

    // getters and setters here

}

并将其作为 Parcelable 放入我的意图中:

Game myGame = new Game(gameMode, gameDifficulty);
Intent gameIntent = new Intent(this, GameActivity.class);
gameIntent.putExtra("game", myGame);
startActivity(gameIntent);

我的问题是:使用对象来存储和传递游戏变量是否方便,还是太过分了?最好的方法是什么?我错过了什么吗?提前致谢!

当然,在对象中保存设置是个好方法。如果您有多个 activity 依赖于该对象,那么您应该考虑使用单例缓存它,并将其保存到内部存储中。 如果你有一个 activity 取决于设置(我猜你的情况就是这样),那么可以使用实现 Parcelable 的 class 并通过 Intent 将 class 的实例传递给 GameActivity。