「这是我参与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);
复制代码