首页 > 解决方案 > 单击按钮开始最高解锁级别(场景)

问题描述

我是开发新手,所以我的游戏需要一些帮助!在我的游戏中,我有 2 个按钮,一个是“播放”,另一个是“关卡选择”,我卡在“播放”按钮上,需要制作一个始终加载已解锁的最高级别的脚本,不是当前级别,而是最高级别。这是我用于级别管理器的代码

public List<Button> levelButton;
public Sprite lockimage;

public bool delete;

private void Start()
{

    int saveIndex = PlayerPrefs.GetInt("SaveIndex");
    for (int i = 0; i < levelButton.Count; i++)
    {


        if (i <= saveIndex)
        {
            levelButton[i].interactable = true;
        }
        else
        {
            levelButton[i].interactable = false;
            levelButton[i].GetComponent<Image>().sprite = lockimage;
        }
    }
}
public void LevelSelect()
{
    int level = int.Parse(EventSystem.current.currentSelectedGameObject.name);
    SceneManager.LoadScene(level);
}

public void PlayGame()
{

    //code here

}

public void ResetGame()
{

    PlayerPrefs.SetInt("SaveIndex", 0);
    SceneManager.LoadScene(0);

}

public void DontResetGame()
{

    SceneManager.LoadScene(0);

}

}

标签: unity3d

解决方案


 SceneManager.LoadScene(PlayerPrefs.GetInt("SaveIndex"));

编辑:添加一些信息/上下文。

我意识到您根据从 PlayerPrefs 获得的 int save_index 值在启动函数上设置了级别按钮的交互性。

从那里,我假设您可以使用 PlayGame 函数上的相同值直接加载关卡。

请注意,如果 PlayerPrefs 上还没有“SaveIndex”键,我编写的代码将引发错误


推荐阅读