如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
持久化简单的数据储存在unity3D中提供了一个简单有效的方法,如果之前的你做过android的开发你会发现在unity3d中持久化数据的储存和Android非常的想象。那么下面MOMO将用一个简单有效的例子向大家介绍Unity3D中持久化数据。HYPERLINK"http://unity.gopedu.com/"\t"http://unity.gopedu.com/_blank"出自狗刨学习网首先我们须要熟悉一下Unity3D中的PlayerPrefs这个类。这个类中一共帮助我们封装了9个方法,用来数据的储存与读取。举一个例子PlayerPrefs.SetString("key","value");stringstr=PlayerPrefs.GetString("key","defaule"));复制代码我们发现它是以键值对的形式进行储存与读取,每一个Key对应一个Value,储存过后通过Key可以得到之前储存的Value。这里说一下GetString()方法中的第二个参数,它代表默认值。意思是如果通过第一个参数的Key没有找到对应的Value的话GetString()方法就会返回我们写的第二个参数的默认值。怎么样?很简单吧~感觉和Android完全一样哈。Unity3D默认的字体的size只有16,这就意味了放在iPhone4(960X640)上字体会显示的非常小。字体的来源有很多,大家可以在互联网上下载,或者从自己的电脑中拷贝,在Mac电脑下字体放在Finder->资源库->Fonts我们可以看见电脑中存在了很多字体,我这里随便选一个,将华文仿宋.ttf用鼠标拖动到Project中。选中:华文仿宋FontSize30:毫无疑问是字体的大小,这里写30让字体几乎放大1倍。Character:设置字体的文字编码UnicodeASCLL编码Style:设置字体的风格,粗体斜体点击Cretae->GUISkin创建一个GUI的皮肤,将华文仿宋拖动到箭头所指向的方向。发现下面存在很多GUI皮肤相关控件设置的,可以在这里设置每一个高级控件~游戏场景在游戏制作中是一个非常重要的部分,因为任何一款游戏都是由若干的场景组成,Unity3D的游戏场景做的非常贴心。创建2个游戏场景,一个是scene0一个是scene1,本章的目标是在第一个游戏场景中保存一些基本游戏数据,然后切换到第二个场景中显示第一个场景中保存的数据,实现场景的切换已经数据的储存。在scene0中创建一个c#脚本名称为Scene0Main.cs将它绑定在摄像头中。Scene0Main.csusingUnityEngine;usingSystem.Collections;publicclassScene0Main:MonoBehaviour{//储存数据的显示publicstringtestStr;publicstringtestInt;publicstringtestFloat;//GUI皮肤为上面我们添加的皮肤//在外面用鼠标拖动上为它赋值publicGUISkinfontSkin;//显示的图片publicTextureImagetexture;//UsethisforinitializationvoidStart(){//读取key的值testStr=PlayerPrefs.GetString("testStr","default");testInt=PlayerPrefs.GetInt("testInt",0).ToString();testFloat=PlayerPrefs.GetFloat("testFloat",0).ToString();}//UpdateiscalledonceperframevoidUpdate(){}voidOnGUI(){//将GUI的皮肤设置为我们创建的皮肤GUI.skin=fontSkin;//贴上图片GUI.DrawTexture(newRect((Screen.width-Imagetexture.width)>>1,10,120,120),Imagetexture);//添加输入框让用户输入信息,这里面我没有捕获异常,因为用户有可能输入一个不合法的数值testStr=GUI.TextField(newRect(10,200,200,50),testStr,50);testInt=GUI.TextField(newRect(10,250,200,50),testInt,50);testFloat=GUI.TextField(newRect(10,300,200,50),testFloat,50);//点击按钮保存所有数据if