Unity3D教程保存或读取数据组的方法文档格式.docx
- 文档编号:19502133
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:9
- 大小:16.64KB
Unity3D教程保存或读取数据组的方法文档格式.docx
《Unity3D教程保存或读取数据组的方法文档格式.docx》由会员分享,可在线阅读,更多相关《Unity3D教程保存或读取数据组的方法文档格式.docx(9页珍藏版)》请在冰豆网上搜索。
GameObject;
if(!
PlayerPrefsX.SetVector3("
PlayerPosition"
player.transform.position))
print("
不能保存物体位置!
"
);
成功返回真,否那么假(例如用Webplayer保存超过1M数据的时候)。
获得一个向量:
player.transform.position=PlayerPrefsX.GetVector3("
如果读取的向量存在的话将会返回这个向量值。
保存一组整型数据:
//当保存Scores命名的分数时候创立一个10成员数组
varmyScores=newint[10];
for(i=0;
i<
myScores.Length;
i++)
myScores=i+1;
PlayerPrefsX.SetIntArray("
Scores"
myScores))
不能保存分数!
获得一组整型数据:
staticfunctionGetIntArray(key:
string):
int[]
如果存在将返回这组数据,否那么将返回int[0];
varscores=PlayerPrefsX.GetIntArray("
string,defaultValue:
int,defaultSize:
int):
如果不存在这组数据,将返回指定长度的数组以及每个成员都会赋予默认值.
其他函数的使用方法:
staticfunctionSetFloatArray(key:
float[]):
staticfunctionGetFloatArray(key:
float[]
float,defaultSize:
staticfunctionSetStringArray(key:
String[]):
String[],separator:
char):
staticfunctionGetStringArray(key:
string[]
string,separator:
String,defaultSize:
char,defaultValue:
该脚本的Javascript版:
//Siteofthisscript:
<
ahref="
.unifymunity./wiki/index.php?
title=ArrayPrefs"
target="
_blank"
rel="
external"
>
title=ArrayPrefs<
/a>
//Createdby:
EricHaines(Eric5h5)
//Contribution(Set/GetVector3)03/2010:
MarioMadureiraFontes(fontmaster)
String,vector:
boolean{
returnSetFloatArray(key,[vector.x,vector.y,vector.z]);
}
staticfunctionGetVector3(key:
String):
Vector3{
varfloatArray=GetFloatArray(key);
if(floatArray.Length<
3){
returnVector3.zero;
returnVector3(floatArray[0],floatArray[1],floatArray[2]);
staticfunctionSetIntArray(key:
String,intArray:
int[]):
if(intArray.Length==0)returnfalse;
varsb=newSystem.Text.StringBuilder();
intArray.Length-1;
i++){
sb.Append(intArray[i]).Append("
|"
sb.Append(intArray[i]);
try{
PlayerPrefs.SetString(key,sb.ToString());
catch(err){
returnfalse;
returntrue;
int[]{
if(PlayerPrefs.HasKey(key)){
varstringArray=PlayerPrefs.GetString(key).Split("
[0]);
varintArray=newint[stringArray.Length];
stringArray.Length;
intArray[i]=parseInt(stringArray[i]);
returnintArray;
returnnewint[0];
String,defaultValue:
returnGetIntArray(key);
varintArray=newint[defaultSize];
defaultSize;
intArray[i]=defaultValue;
String,floatArray:
if(floatArray.Length==0)returnfalse;
floatArray.Length-1;
sb.Append(floatArray[i]).Append("
sb.Append(floatArray[i]);
float[]{
varfloatArray=newfloat[stringArray.Length];
floatArray[i]=parseFloat(stringArray[i]);
returnfloatArray;
returnnewfloat[0];
returnGetFloatArray(key);
varfloatArray=newfloat[defaultSize];
floatArray[i]=defaultValue;
String,stringArray:
if(stringArray.Length==0)returnfalse;
PlayerPrefs.SetString(key,String.Join(separator.ToString(),stringArray));
SetStringArray(key,stringArray,"
\n"
[0])){
String,separator:
String[]{
returnPlayerPrefs.GetString(key).Split(separator);
returnnewString[0];
returnPlayerPrefs.GetString(key).Split("
varstringArray=newString[defaultSize];
stringArray[i]=defaultValue;
returnstringArray;
returnGetStringArray(key,"
[0],defaultValue,defaultSize);
该脚本的C#版:
//Contribution(CreatedCSharpVersion)10/2010:
DanielP.Rossi(DR9885)
//Contribution(CreatedBoolArray)10/2010:
//Contribution(Madefunctionspublic)01/2011:
Bren
usingUnityEngine;
usingSystem;
publicstaticclassPlayerPrefsX
{
#regionVector3
///<
summary>
///StoresaVector3valueintoaKey
/summary>
publicstaticboolSetVector3(stringkey,Vector3vector)
returnSetFloatArray(key,newfloat[3]{vector.x,vector.y,vector.z});
///FindsaVector3valuefromaKey
publicstaticVector3GetVector3(stringkey)
float[]floatArray=GetFloatArray(key);
3)
returnnewVector3(floatArray[0],floatArray[1],floatArray[2]);
#endregion
#regionBoolArray
///StoresaBoolArrayorMultipleParametersintoaKey
publicstaticboolSetBoolArray(stringkey,paramsbool[]boolArray)
if(boolArray.Length==0)returnfalse;
System.Text.StringBuildersb=newSystem.Text.StringBuilder();
for(inti=0;
boolArray.Length-1;
sb.Append(boolArray[i]).Append("
sb.Append(boolArray[boolArray.Length-1]);
try{PlayerPrefs.SetString(key,sb.ToString());
}
catch(Exceptione){returnfalse;
///ReturnsaBoolArrayfromaKey
publicstaticbool[]GetBoolArray(stringkey)
if(PlayerPrefs.HasKey(key))
string[]stringArray=PlayerPrefs.GetString(key).Split("
bool[]boolArray=newbool[stringArray.Length];
boolArray[i]=Convert.ToBoolean(stringArray[i]);
returnboolArray;
returnnewbool[0];
///Note:
Usesdefaultvaluestoinitializeifnokeywasfound
publicstaticbool[]GetBoolArray(stringkey,booldefaultValue,intdefaultSize)
returnGetBoolArray(key);
bool[]boolArray=newbool[defaultSize];
boolArray[i]=defaultValue;
#regionIntArray
///StoresaIntArrayorMultipleParametersintoaKey
publicstaticboolSetIntArray(stringkey,paramsint[]intArray)
intArray.Length-1;
sb.Append(intArray[intArray.Length-1]);
///ReturnsaIntArrayfromaKey
publicstaticint[]GetIntArray(stringkey)
int[]intArray=newint[stringArray.Length];
intArray[i]=Convert.ToInt32(stringArray[i]);
publicstaticint[]GetIntArray(stringkey,intdefaultValue,intdefaultSize)
int[]intArray=newint[defaultSize];
#regionFloatArray
///StoresaFloatArrayorMultipleParametersintoaKey
publicstaticboolSetFloatArray(stringkey,paramsfloat[]floatArray)
floatArray.Length-1;
sb.Append(floatArray[floatArray
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Unity3D 教程 保存 读取 数据 方法