阅读 168

Unity 之 游戏场景和PlayerPref存档

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);


作者:陈言必行
链接:https://juejin.cn/post/7032867040582959134


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐