Unity3D中的XML文件加载问题
本文关键字:加载 问题 文件 XML 中的 Unity3D | 更新日期: 2023-09-27 18:16:40
我正在使用Unity3D开发一个小应用程序。在这个应用程序中,它显示文本。这个应用程序文本加载可以在系统中工作,但不能在设备中工作。本文使用.xml文件获取。这个xml文件位于Resources文件夹中。请查找以下代码:
using UnityEngine;
using System.Collections;
using System.Xml;
using System.IO;
public class InsultGenerator : MonoBehaviour {
public UILabel msg;
int indexNo = 0;
bool isFlag = false;
//TODO :: For usage of XML
XmlDocument xml;
public XmlNodeList xmllist;
// Use this for initialization
void Start () {
Debug.Log ("InsultGenerator :: :: Start() ");
indexNo = IGUtils.getIndexNo();
Debug.Log ("indexNo :: " + indexNo);
xml = new XmlDocument ();
xml.Load (Application.dataPath + "/Resources/I.xml");
xmllist = xml.SelectNodes ("insults/record");
Debug.Log ("XML Toatal Records : " + xmllist.Count);
IBtn ();
}
// Update is called once per frame
void Update () {
}
//TODO :: IBtn Click Code
public void IBtn()
{
Debug.Log ("I Btn Clicked ");
if (indexNo == xmllist.Count) {
indexNo = 0;
Debug.Log ("**** indexNO **** :: " +indexNo);
IGUtils.setIndexNo(indexNo);
}
isFlag = true;
for (int index = indexNo; index < xmllist.Count; index++)
{
if(isFlag)
{
indexNo = indexNo + 1;
XmlNode node=xmllist[index].SelectSingleNode("level1");
Debug.Log("Node Data = " +node.InnerText);
int nodeINT = int.Parse(node.InnerText);
if(nodeINT == 1)
{
isFlag = false;
Debug.Log("Node Data = " +node.InnerText);
XmlNode nodeString=xmllist[index].SelectSingleNode("english");
Debug.Log("nodeString.InnerText :: "+nodeString.InnerText);
msg.text = nodeString.InnerText;//here text assign to label.
IGUtils.setIndexNo(indexNo);
break;
}
}
}
}
}
每当点击按钮,它去按钮点击事件IGBtn(),但不加载文本。我希望它的问题从xml获取文本。你能解决上述问题吗?
从Start()
调用IBtn ()
。
点击不会触发任何东西。
也许替换:
public void IBtn()
:
void OnMouseDown()
然后用isTrigger = true
向GameObject添加Collider组件(如BoxCollider),这样它就可以被点击了