欢迎来到天天文库
浏览记录
ID:36031054
大小:4.60 MB
页数:31页
时间:2019-04-29
《unity3d游戏开发笔记5》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、www.taikr.com泰课在线2014.2.318.【新的属性】上次提到的属性栏,今天还是再完善一下,加上了几个属性:并且在PlayerControl中也都定义好了各自的变量,使用PropertyBinding将其与各自的Label绑定起来:publicstringm_sex="?";//性别publicstringm_profession="?";//职业publicintm_kindOrEvil=0;//善恶值publicintm_age=13;//年龄publicfloatm_bodyTall=0;//身高publicfloatm_bodyWight=33;//体重publics
2、tringm_belief="你现在是无神论者。";//信仰除此之外,这些新加的属性以及昨天做出来的时间等也都是需要存档的,所以还必须在SaveGame脚本中对其进行添加保存的东西。打开SaveGame脚本,然后再Save函数中的玩家脚本标签中添加如下代码作为保存:PlayerPrefs.SetString("p_sex",m_player.m_sex);PlayerPrefs.SetString("p_profession",m_player.m_profession);PlayerPrefs.SetInt("p_kindOrEvil",m_player.m_kindOrEvil);Pl
3、ayerPrefs.SetInt("p_age",m_player.m_age);PlayerPrefs.SetFloat("p_bodyTall",m_player.m_bodyTall);PlayerPrefs.SetFloat("p_bodyWeight",m_player.m_bodyWight);PlayerPrefs.SetString("p_belief",m_player.m_belief);31泰课在线(www.taikr.com)——国内首家Unity3D游戏开发免费实训基地www.taikr.com泰课在线然后再在Load函数中进行读取:m_player.m_sex=
4、PlayerPrefs.GetString("p_sex");m_player.m_profession=PlayerPrefs.GetString("p_profession");m_player.m_kindOrEvil=PlayerPrefs.GetInt("p_kindOrEvil");m_player.m_age=PlayerPrefs.GetInt("p_age");m_player.m_bodyTall=PlayerPrefs.GetFloat("p_bodyTall");m_player.m_bodyWight=PlayerPrefs.GetFloat("p_bodyWei
5、ght");m_player.m_belief=PlayerPrefs.GetString("p_belief");暂时就是这样了。接下来是时间的保存。这个功能还是放在DayAndNight自身的脚本中吧。在最后添加两个函数,分别为SaveTime和LoadTime,负责保存和读取时间:#region保存与读取时间voidSaveTime(){PlayerPrefs.SetInt("p_hour",m_hour);PlayerPrefs.SetInt("p_day",m_day);PlayerPrefs.SetInt("p_month",m_month);PlayerPrefs.SetIn
6、t("p_year",m_year);}voidLoadTime(){m_hour=PlayerPrefs.GetInt("p_hour");m_day=PlayerPrefs.GetInt("p_day");m_month=PlayerPrefs.GetInt("p_month");m_year=PlayerPrefs.GetInt("p_year");m_minute=60;}#endregion再读取时间的时候,会将分钟数直接置为60,这样一读取游戏,马上进行每个小时应有的场景更新,这里是为了避免出现阴影之类的东西与保存再读取游戏时的不协调。因为不清楚什么时间会退出游戏,所以这儿为了
7、是天空盒不至于乱套,我还将switch语句每个时辰中的Case都加上了一句更换当前天空合材质的代码RenderSettings.skybox=(Material)Resources.Load("。。。。。。");这句话以前只写在了几个关键点上,现在不得不改变下了,PC平台应该是不会在意这么点负荷的吧?本来想优化一下DayAndNight中的Switch语句的,因为觉得case里面的代码每帧都执行一次,似乎太过于浪费了?不
此文档下载收益归作者所有