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

被折叠的 条评论
为什么被折叠?



