您的位置:首页 > 移动开发 > Unity3D

Unity使用ini配置文件

2017-04-25 11:31 393 查看
在项目中经常使用到配置文件去修改数据,这里为大家分享我对ini配置文件的使用
首先得创建一个读取ini配置文件的基类,创建好一个后,后面项目需要都可以直接拿来用了
创建基类得引用命名空间 System.Runtime.InteropServices
下面为基类代码


public class MyIni
{
public string path;//ini文件的路径
public MyIni(string path)
{
this.path=path;
}
[DllImport("kernel32")]
public static extern long WritePrivateProfileString(string section,string key,string value,string path);
[DllImport("kernel32")]
public static extern int GetPrivateProfileString(string section,string key,string deval,StringBuilder stringBuilder,int size,string path);

//写入ini文件
public void WriteIniContent(string section,string key,string value)
{
WritePrivateProfileString(section,key,value,this.path);
}

//读取Ini文件
public string ReadIniContent(string section,string key)
{
StringBuilder temp=new StringBuilder(255);
int i=GetPrivateProfileString(section,key,"",temp,255,this.path);
return temp.ToString();
}

//判断路径是否正确
public bool IsIniPath()
{
return File.Exists(this.path);
}
}


函数的使用,得先创建一个txt文本文件然后写入内容

内容格式为大标题“[]”,对应大标题下的内容 “名字(相当于key值)=value(使用中文的话可能会有问题,需要转码,中文的话一般使用xml文档)”

[Time]

time=10

[Speed]

speed=5

类似这样的写法,然后保存为ini文件,拖拽到项目中StreamingAssets位置,一般都是放在这个路径

下面是函数的调用

public class IniDemo
{
MyIni ini;

private int  time=0;
private float speed=0;
void Start()
{
//获取ini文件
ini=new MyIni(Application.StreamingAssets+"/Setting.ini");
//获取Ini文件Time类型下的time对应的数值
time=ini.ReadIniContent("Time","time");
speed=ini.ReadIniContent("Speed","speed");
//写入Count类型count值对应的数值(如果存在了相同的key会覆盖原来key的内容)
ini.WritePrivateProfileString("Count","count","5");
}
}


基本上一个简单的ini配置文件的使用就OK了,当然你喜欢的话还可以对基类就行添加函数,添加对一整个大类型直接读取,这都是可以的,不过基本上也够用了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity ini