最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Unity利用XML制作一個(gè)簡(jiǎn)易的登錄系統(tǒng)

 更新時(shí)間:2022年03月18日 14:24:08   作者:Chinesettt  
這篇文章主要介紹了如何在Unity中利用XML文件制作一個(gè)簡(jiǎn)易的登錄系統(tǒng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

通過(guò)XML文件保存賬號(hào)密碼,存儲(chǔ)到本地,不連接數(shù)據(jù)庫(kù)的簡(jiǎn)易登錄系統(tǒng)。

1.創(chuàng)建一個(gè)XML文件,設(shè)置一個(gè)初始的賬號(hào)密碼。

 public void Creat()
    {
        localPath = UnityEngine.Application.streamingAssetsPath + "/" + "MyXML.xml";
        if (!File.Exists(localPath))
        {
            XmlDocument xml = new XmlDocument();
            XmlDeclaration xmldecl = xml.CreateXmlDeclaration("1.0", "UTF-8", "");//設(shè)置xml文件編碼格式為UTF-8
            XmlElement root = xml.CreateElement("Data");//創(chuàng)建根節(jié)點(diǎn)
            XmlElement info = xml.CreateElement("Info");//創(chuàng)建子節(jié)點(diǎn)
            info.SetAttribute("賬號(hào)", "admin");//創(chuàng)建子節(jié)點(diǎn)屬性名和屬性值
            info.SetAttribute("密碼", "123123");
            root.AppendChild(info);//將子節(jié)點(diǎn)按照創(chuàng)建順序,添加到xml
            xml.AppendChild(root);
            xml.Save(localPath);//保存xml到路徑位置
            Debug.Log("創(chuàng)建XML成功!");
        }
    }

2.讀取XML文件,將賬號(hào)密碼存儲(chǔ)到列表數(shù)組中。每次讀取的時(shí)候需要把index的值設(shè)置成0,重新錄入賬號(hào)密碼,不然會(huì)出現(xiàn)一個(gè)賬號(hào)密碼保存兩次的問(wèn)題。

void ReadXML()
    {
        localPath = UnityEngine.Application.streamingAssetsPath + "/" + "MyXML.xml";
        if (File.Exists(localPath))
        {
            XmlDocument xml = new XmlDocument();
            xml.Load(localPath);//加載xml文件
            XmlNodeList nodeList = xml.SelectSingleNode("Data").ChildNodes;
            MimaZu = nodeList.Count;
            foreach (XmlElement xe in nodeList)
            {//遍歷所以子節(jié)點(diǎn)
 
                if (xe.Name == "Info")
                {
                    Debug.Log(xe.GetAttribute("賬號(hào)"));//獲取Name屬性值
                    Debug.Log(xe.GetAttribute("密碼"));
                    messages[index].vs.Add(xe.GetAttribute("賬號(hào)"));
                    messages[index].vs.Add(xe.GetAttribute("密碼"));
                    index += 1;
                    //messages.Add(new string[] { xe.GetAttribute("賬號(hào)"), xe.GetAttribute("密碼") });
                    //Debug.Log(vs);
                }
            }
            Debug.Log("讀取XML成功!" + xml.OuterXml);
        }
    }

3.列表數(shù)組的創(chuàng)建

public Message[] messages;
//這個(gè)放在外面
[System.Serializable]
public class Message
{
    public List<string> vs = new List<string>();
}

4.添加賬號(hào)密碼

 public void AddXML(string zhanghao, string mima)
    {
        localPath = UnityEngine.Application.streamingAssetsPath + "/" + "MyXML.xml";
        if (File.Exists(localPath))
        {
            XmlDocument xml = new XmlDocument();
            xml.Load(localPath);//加載xml文件
            XmlNode root = xml.SelectSingleNode("Data");//獲取根節(jié)點(diǎn)
            XmlElement info = xml.CreateElement("Info");//創(chuàng)建新的子節(jié)點(diǎn)
            info.SetAttribute("賬號(hào)", zhanghao);//創(chuàng)建新子節(jié)點(diǎn)屬性名和屬性值
            info.SetAttribute("密碼", mima);
            root.AppendChild(info);//將子節(jié)點(diǎn)按照創(chuàng)建順序,添加到xml
            xml.AppendChild(root);
            xml.Save(localPath);//保存xml到路徑位置
            Debug.Log("添加X(jué)ML成功!");
        }
    }

5.判斷賬號(hào)密碼是否正確,登錄的時(shí)候判斷IsLogin的值,如果IsLogin的值為false就是登錄失敗,如果值為T(mén)rue就是登錄成功

     public bool IsLogin; 
    public Message[] messages;
    /// <summary>    /// 賬號(hào)密碼個(gè)數(shù)    /// </summary>
/// <summary>
    /// 判斷賬號(hào)密碼是否正確
    /// </summary>
    public void Login()
    {
        for (int i = 0; i < MimaZu; i++)
        {
            int index = i;
            if (ZhangHao.text == messages[index].vs[0] && Mima.text == messages[index].vs[1])
            {
                if (messages[index].vs[0] == null)
                    return;
                if (messages[index].vs[1] == null)
                    return;
                IsLogin = true;
                return;
            }
            else if (ZhangHao.text != messages[index].vs[0] && Mima.text != messages[index].vs[1])
            {
                IsLogin = false;
            }
        }
    }

到此這篇關(guān)于Unity利用XML制作一個(gè)簡(jiǎn)易的登錄系統(tǒng)的文章就介紹到這了,更多相關(guān)Unity XML登錄系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#通過(guò)yield實(shí)現(xiàn)數(shù)組全排列的方法

    C#通過(guò)yield實(shí)現(xiàn)數(shù)組全排列的方法

    這篇文章主要介紹了C#通過(guò)yield實(shí)現(xiàn)數(shù)組全排列的方法,以實(shí)例形式較為詳細(xì)的分析了全排列的概念及C#的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • C# ref and out的使用小結(jié)

    C# ref and out的使用小結(jié)

    這篇文章主要介紹了C# ref and out的使用小結(jié),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-03-03
  • 基于C#編寫(xiě)經(jīng)理評(píng)分系統(tǒng)

    基于C#編寫(xiě)經(jīng)理評(píng)分系統(tǒng)

    最近接了這樣一個(gè)項(xiàng)目,要求使用c#編寫(xiě)經(jīng)理評(píng)分系統(tǒng),需求,要顯示員工信息,實(shí)現(xiàn)項(xiàng)目經(jīng)理給員工評(píng)分功能,今天小編分步驟給大家介紹,需要的的朋友參考下
    2017-03-03
  • C#創(chuàng)建dll類(lèi)庫(kù)的圖文步驟

    C#創(chuàng)建dll類(lèi)庫(kù)的圖文步驟

    類(lèi)庫(kù)讓我們的代碼可復(fù)用,我們只需要在類(lèi)庫(kù)中聲明變量一次,就能在接下來(lái)的過(guò)程中無(wú)數(shù)次地使用,而無(wú)需在每次使用前都要聲明它。這樣一來(lái),就節(jié)省了我們的內(nèi)存空間,需要的朋友可以參考下
    2017-01-01
  • C# Newtonsoft.Json庫(kù)的常用屬性和方法詳解

    C# Newtonsoft.Json庫(kù)的常用屬性和方法詳解

    Newtonsoft.Json(也稱(chēng)為Json.NET)是一個(gè)非常流行的用于處理JSON數(shù)據(jù)的庫(kù),它提供了豐富的屬性和方法,用于序列化和反序列化JSON數(shù)據(jù),下面將通過(guò)C#代碼詳細(xì)講解一些常用的屬性和方法,并提供詳細(xì)的代碼注釋,需要的朋友可以參考下
    2025-03-03
  • C#/VB.NET 在PDF中添加文件包(Portfolio)的方法

    C#/VB.NET 在PDF中添加文件包(Portfolio)的方法

    這篇文章主要介紹了C#/VB.NET 在PDF中添加文件包(Portfolio)的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2020-06-06
  • c# 如何實(shí)現(xiàn)web打印插件

    c# 如何實(shí)現(xiàn)web打印插件

    本文的實(shí)現(xiàn)思路主要是Web端通過(guò)WebSocket將Html發(fā)送給客戶端,客戶端(Winform)監(jiān)聽(tīng)消息,接收處理后再打印,有該需求的朋友可以參考下本文
    2021-06-06
  • C#基于Socket的TCP通信實(shí)現(xiàn)聊天室案例

    C#基于Socket的TCP通信實(shí)現(xiàn)聊天室案例

    這篇文章主要為大家詳細(xì)介紹了C#基于Socket的TCP通信實(shí)現(xiàn)聊天室案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 使用C#與SQL Server數(shù)據(jù)庫(kù)進(jìn)行交互的詳細(xì)步驟

    使用C#與SQL Server數(shù)據(jù)庫(kù)進(jìn)行交互的詳細(xì)步驟

    在C#中與數(shù)據(jù)庫(kù)進(jìn)行交互,通常使用ADO.NET(ActiveX Data Objects .NET)框架,ADO.NET是.NET Framework中用于數(shù)據(jù)訪問(wèn)的一組類(lèi)庫(kù),它提供了多種用于連接和操作數(shù)據(jù)庫(kù)的方法,以下是使用C#與SQL Server數(shù)據(jù)庫(kù)進(jìn)行交互的詳細(xì)步驟,需要的朋友可以參考下
    2024-08-08
  • C#多線程開(kāi)發(fā)實(shí)戰(zhàn)記錄之線程基礎(chǔ)

    C#多線程開(kāi)發(fā)實(shí)戰(zhàn)記錄之線程基礎(chǔ)

    線程是一個(gè)獨(dú)立的運(yùn)行單元,每個(gè)進(jìn)程內(nèi)部有多個(gè)線程,每個(gè)線程可以各自同時(shí)執(zhí)行指令,每個(gè)線程有自己獨(dú)立的棧,但是與進(jìn)程內(nèi)的其他線程共享內(nèi)存,這篇文章主要給大家介紹了關(guān)于C#多線程開(kāi)發(fā)實(shí)戰(zhàn)記錄之線程基礎(chǔ)的相關(guān)資料,需要的朋友可以參考下
    2021-09-09

最新評(píng)論

平南县| 巴彦县| 阿克陶县| 界首市| 嘉黎县| 巴中市| 楚雄市| 彰化县| 绥德县| 涞源县| 南汇区| 福海县| 江安县| 娄底市| 崇左市| 通城县| 抚顺县| 阿拉尔市| 大安市| 高邑县| 房产| 聂拉木县| 商水县| 衡南县| 吴堡县| 龙海市| 西安市| 鄢陵县| 安多县| 新巴尔虎右旗| 宁陵县| 余江县| 双牌县| 元谋县| 原平市| 南汇区| 南澳县| 宜良县| 乌鲁木齐县| 晋宁县| 灵台县|