Unity 之 游戏场景和PlayerPref存档

「这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战

Application 函数

加载场景,5.6.0以上过时,修改方法在后面)

Application.LoaddLevel(“名称或者索引”); 

Application.OpenURL("www.baidu.com"); //运行时自动打开网站

Application.CaptureScreenshot("1.jpg"); //保存图片在项目根目录上,注意图片格式

复制代码

游戏暂停,并切换Scene场景(切换关卡)


if(time.timeScale > 0 && input.getkeydown(keycode.escape))
{

    Time.timeScale = 0;

    Application.LoadLevel (“Scene场景名称 or Scene场景index索引”);

}
复制代码

注:File->Build Settings->Add Current->(勾选Scene场景) ( 要加载的场景在这里添加)

简单数据场景存储 (数据存在注册表中)

PlayerPref存档

PlayerPrefs 游戏存档俗称玩家偏好。 工作原理非常简单,以键值对的形式将数据保存在文件中,然后程序可以根据这个名称取出上次保存的数值。类似于ios中的默认偏好设置(NSUserDefaults)用法类似

一个游戏存档文件对应一个web播放器URL并且文件大小被限制为1MB。如果超出这个限制,SetInt、SetFloat和SetString将不会存储值并抛出一个PlayerPrefsException异常。

设置:(在一个Scene中)

  • PlayerPrefs.SetInt(“life”,100);

  • PlayerPrefs.SetFloat(“lev”,9.8f);

  • PlayerPrefs.SetString(“name”,“zhangsan”);

注: 此方法可以跨Scene调用一些比较简单的数据

读取(在另一个Scene中)

  • PlayerPrefs.GetInt(“life”);

  • PlayerPrefs.GetFloat(“lev”);

  • PlayerPrefs.GetString(“name”);


# Application.LoadLevel过时

随着unity的不断更新,在Unity 5.6.0以上版本场景加载“Application.LoadLevel”已经过时了(代码中提示已弃用),,有的时候却不妨碍程序,场景加载,但是看着那绿色的波浪线,和提示的警告,追求完美的我们难免,会寻求一个可行的方法,下面这个方法是可以用的,我已经使用了哦

using UnityEngine.SceneManagement;    //引用命名空间
复制代码

//在你想跳转场景的地方加入下面代码

SceneManager.LoadScene(“场景名称”);    //括号内加入场景名字 (字符串类型)
复制代码

//下面这个方法,就直接调用就可以了

SceneManager.LoadScene(SceneManager.GetActiveScene().name);
复制代码

猜你喜欢

转载自juejin.im/post/7032867040582959134