Unity登录系统:XML轻松实现!

Unity登录系统:XML轻松实现!

Unity使用XML创建简单的登录系统

更新时间:2022年3月18日 14:24:08 作者:Chinesesettt

本文主要介绍如何在Unity中使用XML文件创建一个简单的登录系统。 文章中的示例代码有详细的解释。 有兴趣的朋友可以跟随小编一起学习。

通过XML文件保存账号和密码并存储在本地unity 读取xml文件,一个不连接数据库的简单登录系统。

1. 创建XML文件并设置初始账户密码。

 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", "");//设置xml文件编码格式为UTF-8
            XmlElement root = xml.CreateElement("Data");//创建根节点
            XmlElement info = xml.CreateElement("Info");//创建子节点
            info.SetAttribute("账号", "admin");//创建子节点属性名和属性值
            info.SetAttribute("密码", "123123");
            root.AppendChild(info);//将子节点按照创建顺序,添加到xml
            xml.AppendChild(root);
            xml.Save(localPath);//保存xml到路径位置
            Debug.Log("创建XML成功!");
        }
    }

2. 读取XML文件并将账户密码存储到list数组中。 每次读取时,需要将索引值设置为0游戏素材3D素材,并重新输入账户密码。 否则会出现账号密码保存两次的问题。

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)
            {//遍历所以子节点
 
                if (xe.Name == "Info")
                {
                    Debug.Log(xe.GetAttribute("账号"));//获取Name属性值
                    Debug.Log(xe.GetAttribute("密码"));
                    messages[index].vs.Add(xe.GetAttribute("账号"));
                    messages[index].vs.Add(xe.GetAttribute("密码"));
                    index += 1;
                    //messages.Add(new string[] { xe.GetAttribute("账号"), xe.GetAttribute("密码") });
                    //Debug.Log(vs);
                }
            }
            Debug.Log("读取XML成功!" + xml.OuterXml);
        }
    }

java读取xml文件_修改读取xml文件_unity 读取xml文件

3.列表数组的创建

public Message[] messages;
//这个放在外面
[System.Serializable]
public class Message
{
    public List vs = new List();
}

4.添加账户密码

 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");//获取根节点
            XmlElement info = xml.CreateElement("Info");//创建新的子节点
            info.SetAttribute("账号", zhanghao);//创建新子节点属性名和属性值
            info.SetAttribute("密码", mima);
            root.AppendChild(info);//将子节点按照创建顺序,添加到xml
            xml.AppendChild(root);
            xml.Save(localPath);//保存xml到路径位置
            Debug.Log("添加XML成功!");
        }
    }

5、判断账号密码是否正确。 登录时判断IsLogin的值,如果IsLogin的值为falseunity 读取xml文件,则登录失败。 如果值为True,则登录成功。

     public bool IsLogin; 
    public Message[] messages;
    ///     /// 账号密码个数    /// 
/// 
    /// 判断账号密码是否正确
    /// 
    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;
            }
        }
    }

关于 Unity 使用 XML 创建简单登录系统的文章到此结束。 有关Unity XML登录系统的更多信息,请搜索Script House之前的文章或继续浏览下面的相关文章。 希望大家以后能够支持我。 脚本之家!

文章来源:https://www.jb51.net/article/241368.htm