Unity利用XML制作一个简易的登录系统

通过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文件,将账号密码存储到列表数组中。每次读取的时候需要把index的值设置成0,重新录入账号密码,不然会出现一个账号密码保存两次的问题。

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);
        }
    }

3.列表数组的创建

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

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的值为false就是登录失败,如果值为True就是登录成功

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

到此这篇关于Unity利用XML制作一个简易的登录系统的文章就介绍到这了,更多相关Unity XML登录系统内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • jsp基于XML实现用户登录与注册的实例解析(附源码)

    简单的基于xml做数据库的登录与注册 主题介绍: 1.xml的读取和存储,主要是用到dom4j技术,(网络中的文件存储路径采用classLoader) 文件的读取和存储,写了一个工厂类 public class DocumentFactory { private static Document dom=null;//需要共享一个dom,所以需要设置为static private static String name="user.xml"; private static String f

  • Unity读取Excel文件转换XML格式文件

    本文实例为大家分享了Unity读取Excel文件转换XML格式文件的具体代码,供大家参考,具体内容如下 此方法用到excel.dll 下载连接 点击打开链接 using System.Collections.Generic; using UnityEngine; using System.IO; using System.Xml; using Excel; using System.Data; /// <summary> /// 创建XML表 /// </summary> publ

  • Unity利用XML制作一个简易的登录系统

    通过XML文件保存账号密码,存储到本地,不连接数据库的简易登录系统. 1.创建一个XML文件,设置一个初始的账号密码. public void Creat() { localPath = UnityEngine.Application.streamingAssetsPath + "/" + "MyXML.xml"; if (!File.Exists(localPath)) { XmlDocument xml = new XmlDocument(); XmlDecla

  • 如何利用PyQt5制作一个简单的登录界面

    目录 环境配置 额外工具配置 生成UI界面 总结 环境配置 新建python虚拟环境并激活 conda create -n pyqt python=3.8 conda activate py36 安装pyqt5 pip install pyqt5 安装pyqt5-tools pip install pyqt5-tools 在PyCharm中新建一个qtdemo工程,并使用这个新建的python虚拟环境作为工程环境 额外工具配置 依次点击File---Settings---Tools---Exte

  • 基于Unity制作一个简易的计算器

    目录 一.前言 二.效果图及源工程 三.实现 1.界面搭建 2.代码实现 四.后记 一.前言 Hello,又见面了,今天分享如何使用Unity制作计算器,难度中等,可以用来学习,或者当成其他项目的小组件导入. 当然,也可以导出来,发布到网页端,来做一个嵌入式工具也可以. 二.效果图及源工程 效果图: 源工程 三.实现 1.界面搭建 所有的按钮摆放到Background下面. 2.代码实现 首先找到所有的按钮,添加到事件: //结果显示 TextComputeProcess = GameObjec

  • Unity利用UGUI制作提示框效果

    本文实例为大家分享了Unity利用UGUI制作提示框的具体代码,供大家参考,具体内容如下 用到的工具DOTween 这个插件很好用的 大家可以去百度搜一下 先看一下效果 先上脚本 using DG.Tweening; using UnityEngine; using UnityEngine.UI; public class ShowTip : MonoBehaviour { public CanvasGroup tips; public void OnClickBtn() { ShowTips(

  • 利用Python制作一个MOOC公开课下载器

    目录 导语 开发工具 环境搭建 先睹为快 原理简介 导语 记得很久以前写过一些中国大学MOOC上的视频下载器,不过好像都已经年久失修了.正好最近有需要,所以重新写了一个,顺便上来分享一波,寒假大家也可以用它来下载点课程内卷一下: 废话不多说,让我们愉快地开始吧~ 开发工具 Python版本:3.7.8 相关模块: DecryptLogin模块: tqdm模块: click模块: argparse模块: 以及一些python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的

  • 利用java制作一个小的目录查询器的方法

    实例如下: import java.util.*; import javax.swing.*; import java.awt.*; import java.io.*; import java.awt.event.*; class MyWindow{ private Frame f1; private Button bt1; private TextField tx1; private TextArea tx2; MyWindow(){ init(); } public void init(){

  • 利用django创建一个简易的博客网站的示例

    一.页面实现 index.html base.html post.html header.html footer.html <!-- index.html--> {% extends 'base.html' %} <html lang="en"> <head> <meta charset="UTF-8"> <title>个人博客</title> </head> <body>

  • Python利用PyQt5制作一个获取网络实时NBA数据并播报的GUI程序

    制作NBA数据爬虫 捋顺思路 我们在这里选择的是百度体育带来的数据,我们在百度当中直接搜索NBA跳转到网页,我们可以看到,百度已经为我们提供了相关的数据 我们点击进去后,可以发现这是一个非常简洁的网址 我们看一下这个地址栏,发现毫无规律https://tiyu.baidu.com/live/detail/576O5Zu955S35a2Q6IGM5Lia56%2Bu55CD6IGU6LWbI2Jhc2tldGJhbGwjMjAyMS0wNi0xMyPniLXlo6t2c%2BWspritq%2Bi

  • Python利用PyQt5制作一个获取网络实时数据NBA数据播报GUI功能

    制作NBA数据爬虫 捋顺思路 我们在这里选择的是百度体育带来的数据,我们在百度当中直接搜索NBA跳转到网页,我们可以看到,百度已经为我们提供了相关的数据 我们点击进去后,可以发现这是一个非常简洁的网址 我们看一下这个地址栏,发现毫无规律https://tiyu.baidu.com/live/detail/576O5Zu955S35a2Q6IGM5Lia56%2Bu55CD6IGU6LWbI2Jhc2tldGJhbGwjMjAyMS0wNi0xMyPniLXlo6t2c%2BWspritq%2Bi

  • 基于QT制作一个简易的传输文件小工具

    最近因为一个事情很恼火,因为办公需要用到企业微信,但是企业微信只能在一个电脑上登陆,所以当别人发文件给你的时候,你只能一个电脑接收,创建共享文件夹也很麻烦,每次都需要去访问,很麻烦.所以准备自己写一个文件传输小工具. 功能就是能实现文件的双向传输,即客户端能传给服务端,服务端可以传给客户端. 使用的tcp通信,其实就是发消息,但是组合数据我是借鉴了IT1995大神写的代码. 先看下效果图 可以看到既可以接受文件也可进行发送文件,只要2台电脑在统一局域网内,就可发送和接受数据. 本地文件下出现了一

随机推荐