微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

保存和加载场景统一

如何解决保存和加载场景统一

我的游戏没有主菜单,只有关卡,当玩家打开游戏时,我想从上一个会话场景(关卡)继续。我如何创建二进制文件(或使用 playerprefs)。你能帮我如何使用二进制文件在我的游戏中保存场景和加载这里吗?这是我的游戏代码。请帮帮我,我被困在这里几天了

public class PlatformBuild : MonoBehavIoUr
{
    void Awake()
    {
        LoadLevel();
    }
public void LoadLevel() 
    {
    
        float spawnPosZ = -42.86f;

        for (int i = 0; i < PlatformsSize; i++)
        {
            GameObject platform = Instantiate(RandomPlatform,transform);
            platform.transform.localPosition = new Vector3(0,spawnPosZ);
            platform.transform.localEulerAngles = new Vector3(0,UnityEngine.Random.Range(0,360));
            spawnedplatforms.Add(platform);
        }   
        GameObject finalPlatformInstance = Instantiate(finalPlatform,transform);
        finalPlatformInstance.transform.localPosition = new Vector3(0,spawnPosZ);
    }
}

这是我的 gamemanger 脚本,

public class GameManager : MonoBehavIoUr
{
       
 public void NextLevel()
    {        
        LevelCompletedMenu.SetActive(false);            StartCoroutine(LoadFade(SceneManager.GetActiveScene().buildindex + 1));

    }

    public void RestartLevel()
    {
        score = 0;
        StartCoroutine(LoadReStart());
        GameOver.SetActive(false);
        StartCoroutine(LoadFade(SceneManager.GetActiveScene().buildindex));

    }

}

解决方法

包含单个 int 可以通过多种方式很好地存储。如果您不希望人们能够进行一些文件侦查以更改他们所在的场景,您可以使用二进制文件,尽管简单地创建一个带有数字的文本文件会更容易。我相信 PlayerPrefs 也可以工作。就实际操作而言,这三个任务都是非常常见的任务,因此可能通过一些谷歌搜索,您可以找到大量有关它的教程。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。