有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何做到这一点当我按下load game时,它不仅会加载信息,还会将您带到游戏中?

我正在制作一个游戏,希望“加载”按钮将玩家带回到使用共享首选项保存的游戏中。加载方法是否缺少某些内容?加载方法和按钮位于主菜单中的不同活动中,但您可以使用菜单按钮返回

public static final String MY_PREFS = "prefs";
public static final String POSITION = "position";
public static final String INVENTORY = "inventory";
SharedPreferences sharedPrefs;

SaveButton = findViewById(R.id.SaveButton);
SaveButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        saveData();
    }
});

MenuButton = findViewById(R.id.MenuButton);
MenuButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        finish();
    }
});

} //  public void setupControls()

public void saveData() {

    sharedPrefs = getSharedPreferences(MY_PREFS, MODE_PRIVATE);
    SharedPreferences.Editor edit = sharedPrefs.edit();
    edit.putInt(POSITION, thePlayer.getPlayerPos());
    edit.putString(INVENTORY, thePlayer.getInventory());
    edit.commit();

    Toast.makeText(this, "Data Saved", Toast.LENGTH_SHORT).show();
}

//The code below here is in a different activity

loadGame_button = findViewById(R.id.loadGame_button);
loadGame_button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        loadData();
    }
});

public void loadData() {
    SharedPreferences sharedPreferences = getSharedPreferences(MY_PREFS, MODE_PRIVATE);
    inv = sharedPreferences.getString(INVENTORY, "");
    pos = sharedPreferences.getInt(POSITION, 0);
}

共 (1) 个答案

  1. # 1 楼答案

    尝试以下方法:在draw()中将游戏分成不同的状态:mainmenugame{},gameoverscreen。将加载按钮设置为任何非game状态,并使其成为除加载信息外,还将将状态切换为game