改变unity场景的图片比例保存到xml当中

这篇博客介绍了如何在Unity中通过脚本动态调整背景图片的缩放比例,并将调整后的值保存到XML文件中。用户可以通过键盘输入调整图片的scaleX, scaleY, scaleZ,并在按下S键时更新XML配置文件。" 129339411,156032,CSP-J2022植树节题目解析:找浇水最多次数的树苗,"['算法', 'C++']

我的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");
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值