当前位置: 首页 > news >正文

Unity UGUI 实战学习笔记(4)

仅作学习,不做任何商业用途

不是源码,不是源码!

是我通过"照虎画猫"写的,可能有些小修改

不提供素材,所以应该不算是盗版资源,侵权删  

登录面板UI

登录数据逻辑

这是初始化的数据变量脚本 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class LogData {//账号public string usingname;//密码public string password;//是否记住密码public bool isRememberPw;//是否自动登录public bool isRememberLog;//服务器}

这是数据管理器 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class LogDataManger 
{//登录管理器为单例模式private static LogDataManger logdatamanger = new LogDataManger();//唯一实例public static LogDataManger instance = logdatamanger;//访问入口//登录访问数据,私有变量和公共属性,以便获取private LogData logdata;public LogData LogData {get {return logdata;}}//注册访问数据,同上private RegisterData registerdata;public RegisterData RegisterData{ get{return registerdata;}}//JsonMgr这块我直接照抄的,因为没跟写Json管理器private LogDataManger() {logdata = JsonMgr.Instance.LoadData<LogData>("LogData");registerdata= JsonMgr.Instance.LoadData<RegisterData>("RegisterData");}//存储登录数据public void Save(){JsonMgr.Instance.SaveData(logdata, "LogData");}//存储注册数据public void SaveRegister() {JsonMgr.Instance.SaveData(registerdata, "RegisterData");}//注册方法public bool RegisterUser(string username,string password){ //如果用户名或密码存在则无需注册if(registerdata.registerInfo.ContainsKey(username) )       return false;//如果不存在则实时注册并保存registerdata.registerInfo.Add(username, password);SaveRegister();return true;}//用户名和密码是否合法public bool CheckInfo(string userName,string passWord){ //是否有该用户if(registerdata.registerInfo.ContainsKey(userName)){//如果有该用户,则核查密码if (registerdata.registerInfo[userName] == passWord)return true;}return false;  }
}

登录面板的逻辑

using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Windows;public class 登陆面板Panel : 面板基类 {//两个按钮public Button sign;public Button log;//两个输入框public InputField usingname;public InputField password;//两个勾选框public Toggle Pw;//密码的public Toggle Log;//自动登录的protected override void Init() {//登录确认log.onClick.AddListener(() => {if (usingname.text.Length <= 6 ||password.text.Length <= 6) {UIManger.Instance.ShowPanel<提示面板Panel>().TipText("账号或密码大于6位");return;}if(LogDataManger.instance.CheckInfo(usingname.text, password.text)){LogDataManger.instance.LogData.usingname = usingname.text;LogDataManger.instance.LogData.password = password.text;LogDataManger.instance.LogData.isRememberLog = Log.isOn;LogDataManger.instance.LogData.isRememberPw = Pw.isOn;UIManger.Instance.HidePanel<登陆面板Panel>();}else{UIManger.Instance.ShowPanel<提示面板Panel>().TipText("账号或密码错误");}});//注册确认sign.onClick.AddListener(() => {//隐藏登录面板UIManger.Instance.HidePanel<登陆面板Panel>();//弹出注册面板UIManger.Instance.ShowPanel<注册面板panel>();});//记住密码关掉,自动登录也应该关掉Pw.onValueChanged.AddListener((ison) => {if(ison==false){Log.isOn = false;}});//自动登录应该和记住密码同时勾选Log.onValueChanged.AddListener((ison) => {if(ison==true){Pw.isOn = true;}});}public override void ShowMe() {base.ShowMe();//获取登录面板数据,以方便更新面板的信息LogData logData = LogDataManger.instance.LogData;//复选框的更新Pw.isOn = logData.isRememberPw;Log.isOn = logData.isRememberLog;usingname.text =logData.usingname;//如果选中了记住密码,可以更新密码if(Pw.isOn)password.text =logData.password;else{ }//如果选中了自动登录}//登录面板记录注册面板注册好的账号密码的方法public  void SetInfo(string usename,string passwords){usingname.text = usename;password.text = passwords;}}

 因为还有注册面板和登录进去的服务器面板没拼完,所以逻辑写到这里就算完成了这一部分了

相关文章:

Unity UGUI 实战学习笔记(4)

仅作学习&#xff0c;不做任何商业用途 不是源码&#xff0c;不是源码! 是我通过"照虎画猫"写的&#xff0c;可能有些小修改 不提供素材&#xff0c;所以应该不算是盗版资源&#xff0c;侵权删 登录面板UI 登录数据逻辑 这是初始化的数据变量脚本 using System.…...

Python学习和面试中的常见问题及答案

整理了一些关于Python和机器学习算法的高级问题及其详细答案。这些问题涵盖了多个方面&#xff0c;包括数据处理、模型训练、评估、优化和实际应用。 一、Python 编程问题 解释Python中的装饰器&#xff08;Decorators&#xff09;是什么&#xff1f;它们的作用是什么&#xf…...

Mysql-索引视图

目录 1.视图 1.1什么是视图 1.2为什么需要视图 1.3视图的作用和优点 1.4创建视图 1.5更新视图 1.6视图使用规则 1.7修改视图 1.8删除视图 2.索引 2.1什么是索引 2.2索引特点 2.3索引分类 2.4索引优缺点 2.5创建索引 2.6查看索引 2.7删除索引 1.视图 1.1什么是…...

电子签章-开放签应用

开放签电子签章系统开源工具版旨在将电子签章、电子合同系统开发中的前后端核心技术开源开放&#xff0c;适合有技术能力的个人 / 团队学习或自建电子签章 \ 电子合同功能或应用&#xff0c;避免研发同仁在工作过程中重复造轮子&#xff0c;降低电子签章技术研发要求&#xff0…...

Ubuntu下设置文件和文件夹用户组和权限

在 Ubuntu 上&#xff0c;你可以使用 chmod 和 chown 命令来设置当前文件夹下所有文件的权限和所有者。 设置权限&#xff1a; 使用 chmod 命令可以更改文件和目录的权限。例如&#xff0c;要为当前文件夹下的所有文件和子目录设置特定权限&#xff0c;可以使用以下命令&#x…...

JavaSE从零开始到精通(九) - 双列集合

1.前言 Java 中的双列集合主要指的是可以存储键值对的集合类型&#xff0c;其中最常用的包括 Map 接口及其实现类。这些集合允许你以键值对的形式存储和管理数据&#xff0c;提供了便捷的按键访问值的方式。 2. HashMap HashMap 是基于哈希表实现的 Map 接口的类&#xff0c…...

探索 OpenAI GPT-4o Mini:开发者的高效创新工具

探索 OpenAI GPT-4o Mini&#xff1a;开发者的高效创新工具 最近&#xff0c;OpenAI 推出了全新的 GPT-4o Mini 模型&#xff0c;以其出色的性能和极具吸引力的价格&#xff0c;引起了开发者们的广泛关注。作为开发者&#xff0c;你是否已经开始探索这个“迄今为止最具成本效益…...

藏文词典查单词,藏汉双语解释,推荐使用《藏语翻译通》App

《藏语翻译通》App推出了藏文词典、藏汉大词典、新术语等全新在线查单词功能。 藏汉互译 《藏语翻译通》App的核心功能之一是藏汉互译。用户只需输入中文或藏文&#xff0c;即可获得翻译结果。 藏文词典查单词 掌握一门语言&#xff0c;词汇是基础。《藏语翻译通》App内置藏…...

【机器学习基础】初探机器学习

【作者主页】Francek Chen 【专栏介绍】⌈Python机器学习⌋ 机器学习是一门人工智能的分支学科&#xff0c;通过算法和模型让计算机从数据中学习&#xff0c;进行模型训练和优化&#xff0c;做出预测、分类和决策支持。Python成为机器学习的首选语言&#xff0c;依赖于强大的开…...

SpringBoot轻松实现多数据源切换

一.需求背景 项目需要实现在多个数据源之间读写数据&#xff0c;例如在 A 数据源和 B 数据源读取数据&#xff0c;然后在 C 数据源写入数据 或者 部分业务数据从 A 数据源中读取、部分从B数据源中读取诸如此类需求。本文将简单模拟在SpringBoot项目中实现不同数据源之间读取数…...

Qt 5 当类的信号函数和成员函数,函数名相同时,连接信号和槽的写法。

前言&#xff1a;因为项目需要&#xff0c;软件要在windows7上运行&#xff0c;然后项目目前是qt6写的&#xff0c;然后搜索资料&#xff0c;需要qt5.15.2或之前的版本才能在win7上运行&#xff0c;于是下载了qt5.15.2&#xff0c;将qt6的代码在qt5编译时&#xff0c;很多错误&…...

Vuex 介绍及示例

Vuex 是 Vue.js 的一个状态管理模式和库&#xff0c;用于管理 Vue 应用中的全局状态。它是专门为 Vue.js 应用设计的&#xff0c;充分利用了 Vue 的细粒度响应系统来高效地更新状态。以下是对 Vuex 的一些介绍和它的基本使用方法&#xff1a; 主要概念 State&#xff08;状态&…...

【elementui】记录如何重命名elementui组件名称

在main.js中&#xff0c;就是引入elementui的文件中 import ElementUI from element-ui import { Tree } from element-uiVue.use(ElementUI) Vue.component(el-tree-rename, Tree)...

MySQL面试篇章—MySQL锁机制

文章目录 MySQL的锁机制表级锁 & 行级锁排它锁和共享锁InnoDB行级锁行级锁间隙锁意向共享锁和意向排它锁 InnoDB表级锁死锁锁的优化建议MVCC多版本并发控制MyISAM表级锁表级锁并发插入优化锁调度优化 MySQL的锁机制 表级锁 & 行级锁 表级锁&#xff1a;对整张表加锁&…...

OAK相机支持的图像传感器有哪些?

相机支持的传感器 在 RVC2 上&#xff0c;固件必须具有传感器配置才能支持给定的相机传感器。目前&#xff0c;我们支持下面列出的相机传感器的开箱即用&#xff08;固件中&#xff09;传感器配置。 名称 分辨率 传感器类型 尺寸 最大 帧率 IMX378 40563040 彩色 1/2.…...

网络安全威胁情报是什么,它对代工生产(OEM)意味着什么?

随着汽车数字环境的不断变化&#xff0c;网络安全基础设施及其面临的威胁也日趋复杂。 为了更好地识别、理解并最终预防这些风险&#xff0c;网络安全威胁情报&#xff08;CTI&#xff09;的管理应是一个综合多方面的过程。 以下是CTI对OEM的意义&#xff0c;以及如何利用网络…...

【基础篇】Docker 架构与组件 TWO

嗨&#xff0c;小伙伴们&#xff01;我是小竹笋&#xff0c;一名热爱创作的工程师。上一篇我们聊了聊 Docker 的历史与发展、与虚拟机的对比以及它在行业中的应用。今天&#xff0c;让我们更进一步&#xff0c;深入探讨 Docker 的架构与关键组件。 欢迎订阅公众号&#xff1a;…...

03。正式拿捏ArkTS语言第一天

1, 打印日志命令 &#xff1a; console.log() 2, 三种基本数据类型&#xff1a; number 数字类型 &#xff08;数字&#xff09; string 字符串类型&#xff08;例如&#xff1a;“我是字符串”&#xff09; boolean 布尔类型 (true 或者 false) ***…...

【PyTorch][chapter 27][李宏毅深度学习][attention-3]

前言&#xff1a; 前面重点讲了self-attention, mulitHead self-attention. 目录&#xff1a; self-attention positional Encoding 语音处理例子 跟CNN区别 跟 RNN 区别 一 self-attention 回顾 优点 1 解决了长序列依赖问题 2 并行计算 缺点 1 开销变大 增加了 Q…...

java-数据结构与算法-02-数据结构-05-栈

文章目录 1. 栈1. 概述2. 链表实现3. 数组实现4. 应用 2. 习题E01. 有效的括号-Leetcode 20E02. 后缀表达式求值-Leetcode 120E03. 中缀表达式转后缀E04. 双栈模拟队列-Leetcode 232E05. 单队列模拟栈-Leetcode 225 1. 栈 1. 概述 计算机科学中&#xff0c;stack 是一种线性的…...

Delphi 防破解与加壳保护:让你的软件不被逆向、不被篡改

不管你做的是登录器、工具软件、收费系统&#xff0c;只要不想被人随便破解、篡改、去广告&#xff0c;这一篇必须吃透。一、为什么要做软件保护&#xff1f;你的登录器被人破解&#xff0c;随便跳过验证直接进游戏你的收费工具被人去广告、改内存、无限试用关键配置、账号密码…...

OpenClaw+nanobot:个人学习计划智能生成与跟踪

OpenClawnanobot&#xff1a;个人学习计划智能生成与跟踪 1. 为什么需要AI驱动的学习计划助手 去年备考PMP认证时&#xff0c;我陷入了典型的学习规划困境&#xff1a;教材有600多页&#xff0c;模拟题库超过2000题&#xff0c;而我的备考时间只有8周。传统学习计划工具&…...

从Bode到ADS:用‘策动点阻抗’判据,给你的电路稳定性加一道‘数学保险’

从Bode到ADS&#xff1a;用策动点阻抗判据为电路稳定性加一道数学保险 在射频电路设计中&#xff0c;稳定性分析就像给高速行驶的赛车安装防抱死系统——它不会直接提升性能&#xff0c;但能确保系统不会在关键时刻失控。传统K因子分析法如同简单的速度表&#xff0c;而策动点阻…...

MiniCPM-V-2_6模型蒸馏与部署:解决深度学习模型耦合过度问题

MiniCPM-V-2_6模型蒸馏与部署&#xff1a;解决深度学习模型耦合过度问题 你是不是遇到过这种情况&#xff1f;好不容易训练好一个功能强大的模型&#xff0c;想把它部署到实际应用里&#xff0c;却发现它像一块密不透风的巨石——想改一个小功能&#xff0c;就得动整个模型&am…...

算力集群搭建:从单节点到多节点的部署教程

算力集群搭建&#xff1a;从单节点到多节点的部署教程&#x1f4da; 本章学习目标&#xff1a;深入理解从单节点到多节点的部署教程的核心概念与实践方法&#xff0c;掌握关键技术要点&#xff0c;了解实际应用场景与最佳实践。本文属于《云原生、云边端一体化与算力基建&#…...

BFG Repo Cleaner终极指南:10倍速清理Git仓库的完整方案

BFG Repo Cleaner终极指南&#xff1a;10倍速清理Git仓库的完整方案 【免费下载链接】bfg-repo-cleaner Removes large or troublesome blobs like git-filter-branch does, but faster. And written in Scala 项目地址: https://gitcode.com/gh_mirrors/bf/bfg-repo-cleaner…...

Swin2SR进阶使用:通过HTTP链接实现远程增强

Swin2SR进阶使用&#xff1a;通过HTTP链接实现远程增强 1. 引言&#xff1a;从本地工具到远程服务 如果你用过Swin2SR这个AI图像超分工具&#xff0c;一定会被它“化腐朽为神奇”的能力震撼——一张模糊的小图&#xff0c;经过AI的“脑补”&#xff0c;瞬间变成细节丰富的高清…...

体验人机协同:在快马平台利用ai辅助开发优化天气查询代码

最近在做一个天气查询的小工具&#xff0c;原本的代码功能很简单&#xff0c;就是从API获取数据然后打印出来。但实际用起来发现很多问题&#xff1a;网络不好的时候直接崩溃&#xff0c;返回的数据格式也经常对不上。正好在InsCode(快马)平台上看到了AI辅助开发的功能&#xf…...

JavaScript DXF Writer:三步实现浏览器CAD图纸生成的终极方案

JavaScript DXF Writer&#xff1a;三步实现浏览器CAD图纸生成的终极方案 【免费下载链接】js-dxf JavaScript DXF writer 项目地址: https://gitcode.com/gh_mirrors/js/js-dxf JavaScript DXF Writer是一个简单易用的JavaScript库&#xff0c;专门用于在浏览器和Node.…...

终极指南:如何永久解决IDM激活弹窗问题 - 完整技术方案

终极指南&#xff1a;如何永久解决IDM激活弹窗问题 - 完整技术方案 【免费下载链接】IDM-Activation-Script IDM Activation & Trail Reset Script 项目地址: https://gitcode.com/gh_mirrors/id/IDM-Activation-Script Internet Download Manager&#xff08;IDM&a…...