繁体   English   中英

Unity3D中的XML文件加载问题?

[英]XML File Load Issue in Unity3D?

我使用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 () Start()

点击不会触发任何事件。

也许替换:

public void IBtn()

与:

void OnMouseDown()

然后使用isTrigger = true将Collider组件(例如BoxCollider)添加到isTrigger = true ,以便可以单击它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM