unity XML 初初初入门
2016-01-29 17:25
513 查看
xml在unity中可以用来保存各种配置(Scene)和数据(装备数据)资源,同样的还有jason和binary,所以这三种文件对我们以后写代码是相当重要的。
下面写了一个小小的工程作为入门来认识下XmlDocument、XmlElement、SetAttribute、InnerText分别是什么
1.新建一个项目工程,名字随便写,进入unity后在资源面板里新建两个文件夹
Editor – 存放工具类,这个文件夹里的东西在生成可执行文件时不会打包进去
StreamingAssets – 存放资源文件,便于进行资源更新
2.在Editor中新建ExportScene.cs, 代码如下:
注释已写好
3.回到unity
![](http://img.blog.csdn.net/20160129170742266)
添加的菜单在这里,点击,会在资源中生成TestXML.xml
![](http://img.blog.csdn.net/20160129170945961)
4.然后就可以打开查看生成的xml代码,我用vscode打开的,贴上。
对照第二步代码看
下面写了一个小小的工程作为入门来认识下XmlDocument、XmlElement、SetAttribute、InnerText分别是什么
1.新建一个项目工程,名字随便写,进入unity后在资源面板里新建两个文件夹
Editor – 存放工具类,这个文件夹里的东西在生成可执行文件时不会打包进去
StreamingAssets – 存放资源文件,便于进行资源更新
2.在Editor中新建ExportScene.cs, 代码如下:
注释已写好
/***************************** * * Author : TheNO.5 * ******************************/ using UnityEngine; using UnityEditor; using System.IO; using System.Xml; public class CreateXML : MonoBehaviour { // 新建菜单项 [MenuItem("Editor/CreateXML")] static void ExportSceneToXML() { //获取XML保存路径,引号中的可以自己指定,前提是指定文件夹必须存在 string filePath = Application.dataPath + @"/StreamingAssets/TestXML.xml"; // 如果此文件已存,则删掉 if(File.Exists(filePath)) File.Delete(filePath); // 新建一个XML XmlDocument xmlDoc = new XmlDocument(); // 为这个XML创建两个元素节点 XmlElement config = xmlDoc.CreateElement("Config"); XmlElement scene = xmlDoc.CreateElement("Scene"); // 设置scene元素的属性 scene.SetAttribute("name", filePath); // 创建另一个新元素节点 XmlElement position = xmlDoc.CreateElement("position"); // 同上 XmlElement x = xmlDoc.CreateElement("x"); // 设置元素内容 x.InnerText = "InnerText"; // 指定各节点层级关系 position.AppendChild(x); scene.AppendChild(position); config.AppendChild(scene); xmlDoc.AppendChild(config); // 保存 xmlDoc.Save(filePath); // 刷新,作用相当于在unity中的资源面板中右击-刷新(Refresh) AssetDatabase.Refresh(); } }
3.回到unity
添加的菜单在这里,点击,会在资源中生成TestXML.xml
4.然后就可以打开查看生成的xml代码,我用vscode打开的,贴上。
对照第二步代码看
相关文章推荐
- Unity Shader 学习笔记(十二)漫反射卷积光照模型
- Unity5 GI与PBS渲染从用法到着色代码
- Unity优化总结
- Unity5特殊目录及其目录中脚本的编译顺序
- Unity 自动导出 AndroidStudio 项目
- unity 对象池
- 在Unity中StartCoroutine/yield return的原理和模式
- 【官方说明】Unity 5 引擎专业版和个人版解析
- Unity协程(Coroutine)原理深入剖析
- [Unity3D]脚本中Start()和Awake()的区别
- Unity3D研究院之两种方式播放游戏视频(二十五)
- Unity 安卓项目 接入调用java代码
- Unity3D 画线插件 Vectrosity_Simple2DLine
- 【我的书】Unity Shader的书 — 目录(2016.5.19最后一次更新)
- 【Unity Shader】2D动态云彩
- 【Unity Shader】2D动态云彩
- Unity3D项目之 Survival Shooter 记录
- EVP5 Unity5 汽车物理引擎demo分析
- Unity全屏模糊
- unity+slua热更流程演示