改变unity场景的图片比例保存到xml当中
2015-09-19 17:48
573 查看
我的xml配置信息如下:
<?version = "1.0" encoding ="utf-8" ?>
<config>
<scalex>1</scalex>
<scaley>1</scaley>
<scalez>1</scalez>
</config>
控制图片缩放并保存到xml的脚本:
public class ChangeBgScale : MonoBehaviour {
private XmlDocument loadScaleDoc = new XmlDocument();
private float scaleX, scaleY, scaleZ = 0;
private GameObject bg;
private XmlNode node;
// Use this for initialization
void Start () {
bg = GameObject.Find("bg");
loadScaleDoc.Load(Application.dataPath + "/ChangeBgScale.xml");
node = loadScaleDoc.SelectSingleNode("config");
foreach(XmlNode node2 in node)
{
if (node2.Name == "scalex") scaleX = Convert.ToSingle(node2.InnerText);
if (node2.Name == "scaley") scaleY = Convert.ToSingle(node2.InnerText);
if (node2.Name == "scaley") scaleZ = Convert.ToSingle(node2.InnerText);
print("scalex!!!!!!!!!!!!!!!!" + scaleX);
print("scaley!!!!!!!!!!!!!!!!!!!" + scaleY);
print("scalez!!!!!!!!!!!!!" + scaleZ);
}
}
// Update is called once per frame
void Update () {
//通过按数字键1、2、3来改变图片scale的x、y、z 按s键进行保存到xml当中
if(Input.GetKeyDown(KeyCode.Alpha1))
{
bg.transform.localScale += new Vector3(0.01f, 0, 0);
scaleX = bg.transform.localScale.x;
}
if(Input.GetKeyDown(KeyCode.Alpha2))
{
bg.transform.localScale += new Vector3(0, 0.01f, 0);
scaleY = bg.transform.localScale.y;
}
if(Input.GetKeyDown(KeyCode.Alpha3))
{
bg.transform.localScale += new Vector3(0, 0, 0.01f);
}
if(Input.GetKeyDown(KeyCode.S))
{
foreach (XmlNode node1 in node)
{
switch(node1.Name)
{
case "scalex":
node1.InnerText = scaleX.ToString();
break;
case "scaley":
node1.InnerText = scaleY.ToString();
break;
case "scalez":
node1.InnerText = scaleZ.ToString();
break;
}
}
}
loadScaleDoc.Save(Application.dataPath + "/ChangeBgScale.xml");
}
}
<?version = "1.0" encoding ="utf-8" ?>
<config>
<scalex>1</scalex>
<scaley>1</scaley>
<scalez>1</scalez>
</config>
控制图片缩放并保存到xml的脚本:
public class ChangeBgScale : MonoBehaviour {
private XmlDocument loadScaleDoc = new XmlDocument();
private float scaleX, scaleY, scaleZ = 0;
private GameObject bg;
private XmlNode node;
// Use this for initialization
void Start () {
bg = GameObject.Find("bg");
loadScaleDoc.Load(Application.dataPath + "/ChangeBgScale.xml");
node = loadScaleDoc.SelectSingleNode("config");
foreach(XmlNode node2 in node)
{
if (node2.Name == "scalex") scaleX = Convert.ToSingle(node2.InnerText);
if (node2.Name == "scaley") scaleY = Convert.ToSingle(node2.InnerText);
if (node2.Name == "scaley") scaleZ = Convert.ToSingle(node2.InnerText);
print("scalex!!!!!!!!!!!!!!!!" + scaleX);
print("scaley!!!!!!!!!!!!!!!!!!!" + scaleY);
print("scalez!!!!!!!!!!!!!" + scaleZ);
}
}
// Update is called once per frame
void Update () {
//通过按数字键1、2、3来改变图片scale的x、y、z 按s键进行保存到xml当中
if(Input.GetKeyDown(KeyCode.Alpha1))
{
bg.transform.localScale += new Vector3(0.01f, 0, 0);
scaleX = bg.transform.localScale.x;
}
if(Input.GetKeyDown(KeyCode.Alpha2))
{
bg.transform.localScale += new Vector3(0, 0.01f, 0);
scaleY = bg.transform.localScale.y;
}
if(Input.GetKeyDown(KeyCode.Alpha3))
{
bg.transform.localScale += new Vector3(0, 0, 0.01f);
}
if(Input.GetKeyDown(KeyCode.S))
{
foreach (XmlNode node1 in node)
{
switch(node1.Name)
{
case "scalex":
node1.InnerText = scaleX.ToString();
break;
case "scaley":
node1.InnerText = scaleY.ToString();
break;
case "scalez":
node1.InnerText = scaleZ.ToString();
break;
}
}
}
loadScaleDoc.Save(Application.dataPath + "/ChangeBgScale.xml");
}
}
相关文章推荐
- Unity3d该物业(Attributes)整理
- Unity UGUI 学习(一)——关于Canvas
- Unity3D中uGUI事件系统简述及使用方法总结
- Unity手游优化总概
- unity 自带脚本smoothfollow的修改,实现不同方向的跟随
- Unity3d 人物白膜问题
- 个人对unity inspector面板中不显示二维数组的解决方法
- unity3d模仿魔兽世界鼠标对游戏操作
- Immunity1.85 新增API
- Unity 3DC#语法基本知识点
- Unity3D和Android交互(Android调用Unity的场景)
- Vuforia SDK----从Unity的SD卡装入一个DataSet
- Unity_酷炫塔防插件TDTK(一)
- 于Unity3D调用安卓AlertDialog
- unity3d 免费好用的数据库处理框架 数据库直连框架
- unity的forward rendering 中光源的使用和light的render mode
- Unity脚本中使用NGUI的预先准备
- 【unity-lua】笔记(备忘)
- Unity3D for Android 纹理压缩支持
- Ogre中四元数与三维向量(Unity3D异曲同工)