Unity3D 使用XML进行简单的配置文件改动
2017-08-07 11:27
671 查看
1、首先是看看效果图:
開始执行项目例如以下图所看到的
2、点击绿色button改动配置文件再点击改动button成功改动方块颜色
3、接了下是实现的过程:
首先在Hierarchy创建一个cube。其次在Assets下分别创建Scenes和Scripts目录,各自是用来保存的的当前的场景和我们所写的脚本。在Scripts目录以下右键创建一个C#脚本,接我们在脚本里面開始创建一个XML文件和相应的目录。在外部声明一个private string m_sXmlPath;用来显示xml路径。接着在Start()方法中配置和创建XML,
void Start () {
m_sXmlPath = Application.dataPath + "/Configs/config.xml";
Debug.Log("Application Path:" + Application.dataPath);
Debug.Log("config.xml Path:" + m_sXmlPath);
CreateXml();//创建XML
}
创建XML方法例如以下:
private void CreateXml(){
if(!File.Exists(m_sXmlPath))//假设不存在这个文件夹我们就创建一个这种文件夹
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement data = xmlDoc.CreateElement("data");
xmlDoc.AppendChild(data);
XmlElement color = xmlDoc.CreateElement("color");
data.AppendChild(color);
xmlDoc.Save(m_sXmlPath);
Debug.Log("创建XML完成");
}
}
创建形成之后我们点击XML会有例如以下的信息在里面:
相应的我们须要更新我们改动的XML文件:
private void UpdateXML(uint color){
if(File.Exists(m_sXmlPath))
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(m_sXmlPath);
XmlNode colorNode = xmlDoc.SelectSingleNode("data/color");
colorNode.InnerText = color.ToString();
xmlDoc.Save(m_sXmlPath);
Debug.Log("改动成功:" + color);
}
}
接着就是实现方块的颜色的改动:
private void ModifyCubeColor(){
if(File.Exists(m_sXmlPath)){
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(m_sXmlPath);
XmlNode colorNode = xmlDoc.SelectSingleNode("data/color");
uint color = Convert.ToUInt32(colorNode.InnerText);
Debug.Log("读取的Color:" + color);
GameObject cube = GameObject.Find("Cube");
if(color == 0xff0000){
cube.renderer.material.color = Color.red;
}else if(color == 0x00ff00){
cube.renderer.material.color = Color.green;
}
}
}
我们要实现如效果图中的点击button就会改动相应的方块,我们须要创建我们的button:
void OnGUI(){
//create modify color buttons
GUI.Label(new Rect(10,10,200,30),"改动配置文件");
if(GUI.Button(new Rect(10,40,100,30),"红色")){
UpdateXML(0xff0000);
}
if(GUI.Button(new Rect(10,70,100,30),"绿色")){
UpdateXML(0x00ff00);
}
//create button use to modify Cube'color
GUI.Label(new Rect(10,110,200,30),"依据配置文件改动方块");
if(GUI.Button(new Rect(10,140,200,30),"改动方块")){
ModifyCubeColor();
}
}
開始执行项目例如以下图所看到的
2、点击绿色button改动配置文件再点击改动button成功改动方块颜色
3、接了下是实现的过程:
首先在Hierarchy创建一个cube。其次在Assets下分别创建Scenes和Scripts目录,各自是用来保存的的当前的场景和我们所写的脚本。在Scripts目录以下右键创建一个C#脚本,接我们在脚本里面開始创建一个XML文件和相应的目录。在外部声明一个private string m_sXmlPath;用来显示xml路径。接着在Start()方法中配置和创建XML,
void Start () {
m_sXmlPath = Application.dataPath + "/Configs/config.xml";
Debug.Log("Application Path:" + Application.dataPath);
Debug.Log("config.xml Path:" + m_sXmlPath);
CreateXml();//创建XML
}
创建XML方法例如以下:
private void CreateXml(){
if(!File.Exists(m_sXmlPath))//假设不存在这个文件夹我们就创建一个这种文件夹
{
XmlDocument xmlDoc = new XmlDocument();
XmlElement data = xmlDoc.CreateElement("data");
xmlDoc.AppendChild(data);
XmlElement color = xmlDoc.CreateElement("color");
data.AppendChild(color);
xmlDoc.Save(m_sXmlPath);
Debug.Log("创建XML完成");
}
}
创建形成之后我们点击XML会有例如以下的信息在里面:
相应的我们须要更新我们改动的XML文件:
private void UpdateXML(uint color){
if(File.Exists(m_sXmlPath))
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(m_sXmlPath);
XmlNode colorNode = xmlDoc.SelectSingleNode("data/color");
colorNode.InnerText = color.ToString();
xmlDoc.Save(m_sXmlPath);
Debug.Log("改动成功:" + color);
}
}
接着就是实现方块的颜色的改动:
private void ModifyCubeColor(){
if(File.Exists(m_sXmlPath)){
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(m_sXmlPath);
XmlNode colorNode = xmlDoc.SelectSingleNode("data/color");
uint color = Convert.ToUInt32(colorNode.InnerText);
Debug.Log("读取的Color:" + color);
GameObject cube = GameObject.Find("Cube");
if(color == 0xff0000){
cube.renderer.material.color = Color.red;
}else if(color == 0x00ff00){
cube.renderer.material.color = Color.green;
}
}
}
我们要实现如效果图中的点击button就会改动相应的方块,我们须要创建我们的button:
void OnGUI(){
//create modify color buttons
GUI.Label(new Rect(10,10,200,30),"改动配置文件");
if(GUI.Button(new Rect(10,40,100,30),"红色")){
UpdateXML(0xff0000);
}
if(GUI.Button(new Rect(10,70,100,30),"绿色")){
UpdateXML(0x00ff00);
}
//create button use to modify Cube'color
GUI.Label(new Rect(10,110,200,30),"依据配置文件改动方块");
if(GUI.Button(new Rect(10,140,200,30),"改动方块")){
ModifyCubeColor();
}
}
相关文章推荐
- Unity3D 使用XML进行简单的配置文件修改
- 使用common-configuration进行对配置文件的操作(xml,properties)
- Spring的Ioc简单使用实例(含XML配置文件路径知识)
- 大型Java项目中使用maven进行管理,pom.xml文件中build的配置
- spring 框架中的依赖注入(IOC--设值注入)---使用xml简单配置文件---的具体实例的简单实现
- Spring_使用XML配置文件进行读取
- 简单使用dom4j对xml文件进行输出操作(如何使用dom4j对xml文件进行输出)
- 使用digester 解析xml配置文件
- 使用XML读写删除功能来实现资源文件配置
- 如何使用XCodeFactory自动生成XML配置文件和对应的解析类?
- 使用Linq to Xml 读取配置文件
- 使用PHP对配置文件进行修改
- 使用dom4j从XML配置文件中生成菜单(一)
- 蔡军生先生第二人生的源码分析(六十九)使用LLXmlTree类来分析XML配置文件
- 第二人生的源码分析(六十九)使用LLXmlTree类来分析XML配置文件
- 第二人生的源码分析(六十九)使用LLXmlTree类来分析XML配置文件
- Struts中使用多个xml配置文件
- 使用PHP对配置文件进行修改
- 转载:如何使用XCodeFactory自动生成XML配置文件和对应的解析类
- 在PDA程序中使用XML文件保存程序配置设置