《Unity3D教程:保存或读取数据组的方法(5.28).pptx》由会员分享,可在线阅读,更多相关《Unity3D教程:保存或读取数据组的方法(5.28).pptx(23页珍藏版)》请在金锄头文库上搜索。
1、 书山有路Unity3D教程 保存或读取数据组的方法 1 Postedon2013年02月05日byU3d 被围观195次 本身有来做一些数据的保存和读取 也可以通过循环来做批量的读取或者保存 下面这个脚本可以方便的调用用来做上面批量的工作 比如读取一组文本数组数据和保存一组文本数组数据 建议把这个脚本放在StandardAssets目录下 这样可以按照下面的方法方便的调用它 现在包含了下面这些命令 PlayerPrefsX SetVector3 PlayerPrefsX GetVector3 PlayerPrefsX SetIntArray PlayerPrefsX GetIntArray
2、PlayerPrefsX SetFloatArray PlayerPrefsX GetFloatArray PlayerPrefsX SetStringArray PlayerPrefsX GetStringArray 书山有路 保存一个向量 2 staticfunctionSetVector3 key string value Vector3 boolean 尝试保存一个物体位置 varplayer GameObject if PlayerPrefsX SetVector3 PlayerPosition player transform position print 不能保存物体位置 成功返
3、回真 否则假 例如用Webplayer保存超过1M数据的时候 获得一个向量 varplayer GameObject player transform position PlayerPrefsX GetVector3 PlayerPosition 如果读取的向量存在的话将会返回这个向量值 保存一组整型数据 当保存Scores命名的分数时候创建一个10成员数组 varmyScores newint 10 书山有路 for i 0 i myScores Length i 3 myScores i 1 if PlayerPrefsX SetIntArray Scores myScores print
4、 不能保存分数 获得一组整型数据 staticfunctionGetIntArray key string int 如果存在将返回这组数据 否则将返回int 0 varscores PlayerPrefsX GetIntArray Scores staticfunctionGetIntArray key string defaultValue int defaultSize int int 如果不存在这组数据 将返回指定长度的数组以及每个成员都会赋予默认值 其他函数的使用方法 staticfunctionSetFloatArray key string value float boolean
5、staticfunctionGetFloatArray key string float 书山有路 staticfunctionGetFloatArray key string defaultValue float defaultSize int float 4 staticfunctionSetStringArray key string value String boolean staticfunctionSetStringArray key string value String separator char boolean staticfunctionGetStringArray ke
6、y string string staticfunctionGetStringArray key string separator char string staticfunctionGetStringArray key string defaultValue String defaultSize int string staticfunctionGetStringArray key string separator char defaultValue String defaultSize int string 该脚本的Javascript版 Siteofthisscript 书山有路 a C
7、reatedby EricHaines Eric5h5 Contribution Set GetVector3 03 2010 MarioMadureiraFontes fontmaster staticfunctionSetVector3 key String vector Vector3 boolean returnSetFloatArray key vector x vector y vector z staticfunctionGetVector3 key String Vector3 varfloatArray GetFloatArray key if floatArray Leng
8、th 3 returnVector3 zero returnVector3 floatArray 0 floatArray 1 floatArray 2 staticfunctionSetIntArray key String intArray int boolean if intArray Length 0 returnfalse varsb newSystem Text StringBuilder for i 0 i intArray Length 1 i sb Append intArray i Append 5 书山有路 sb Append intArray i try PlayerP
9、refs SetString key sb ToString catch err returnfalse returntrue staticfunctionGetIntArray key String int if PlayerPrefs HasKey key varstringArray PlayerPrefs GetString key Split 0 varintArray newint stringArray Length for i 0 i stringArray Length i intArray i parseInt stringArray i returnintArray re
10、turnnewint 0 6 书山有路 staticfunctionGetIntArray key String defaultValue int defaultSize int int if PlayerPrefs HasKey key returnGetIntArray key varintArray newint defaultSize for i 0 i defaultSize i intArray i defaultValue returnintArray staticfunctionSetFloatArray key String floatArray float boolean
11、if floatArray Length 0 returnfalse varsb newSystem Text StringBuilder for i 0 i floatArray Length 1 i sb Append floatArray i Append sb Append floatArray i try 7 书山有路 PlayerPrefs SetString key sb ToString catch err returnfalse returntrue staticfunctionGetFloatArray key String float if PlayerPrefs Has
12、Key key varstringArray PlayerPrefs GetString key Split 0 varfloatArray newfloat stringArray Length for i 0 i stringArray Length i floatArray i parseFloat stringArray i returnfloatArray returnnewfloat 0 staticfunctionGetFloatArray key String defaultValue float defaultSize int 8 书山有路 float if PlayerPr
13、efs HasKey key returnGetFloatArray key varfloatArray newfloat defaultSize for i 0 i defaultSize i floatArray i defaultValue returnfloatArray staticfunctionSetStringArray key String stringArray String separator char boolean if stringArray Length 0 returnfalse try PlayerPrefs SetString key String Join
14、 separator ToString stringArray catch err returnfalse 9 书山有路 returntrue staticfunctionSetStringArray key String stringArray String boolean if SetStringArray key stringArray n 0 returnfalse returntrue staticfunctionGetStringArray key String separator char String if PlayerPrefs HasKey key returnPlayer
15、Prefs GetString key Split separator returnnewString 0 staticfunctionGetStringArray key String String if PlayerPrefs HasKey key returnPlayerPrefs GetString key Split n 0 returnnewString 0 10 书山有路 staticfunctionGetStringArray key String separator char defaultValue String defaultSize int String if Play
16、erPrefs HasKey key returnPlayerPrefs GetString key Split separator varstringArray newString defaultSize for i 0 i defaultSize i stringArray i defaultValue returnstringArray staticfunctionGetStringArray key String defaultValue String defaultSize int String returnGetStringArray key n 0 defaultValue defaultSize 11 该脚本的C 版 Contribution CreatedCSharpVersion 10 2010 DanielP Rossi DR9885 Contribution CreatedBoolArray 10 2010 DanielP Rossi DR9885 书山有路 Contribution Madefunctionspublic 01 2011 BrenusingUn