UMVCL4——使用MVC前后的对比
UMVCL4——使用MVC前后的对比 使用MVC的得到的改进 以前将数据管理,业务逻辑,用户界面糅合在一起的面板逻辑, 在使用MVC思想重新编写后,我们将数据,界面,业务逻辑三者分离 文件结构也有所改变: 在使用MVC思想重新编写面板脚本后,面板交互的执行逻辑清晰了: View(界面)触发事件 ——> Controller(业务)处理了业务,触发了数据更新 ↓ View更新数据 <—— Model(带着数据)回到了View <—— 更新Model的数据↙ 其中: 数据:负责增删查改获取界面上需要的数据 界面:负责获取控件,更新控件信息 控制:负责业务逻辑处理,界面事件监听,触发数据更新,触发界面更新 MVC的好处 各司其职,互不干涉 —— 编程思路更清晰 有利开发中的分工 —— 多人协同开发时,同步并行 有利于组件重用 —— 功能变化小时,提高开发效率 MVC的缺点 增加了程序文件的体量 —— 脚本由一变三 增加了结构的复杂性 —— 对于不清楚MVC原理的人不友好 效率相对较低 ——...
UMVCL2——不使用MVC思想制作UI逻辑
UMVCL2——不使用MVC思想制作UI逻辑 不使用MVC的UI逻辑制作实例 假设我们有一个主面板,它的各个UI控件需要的效果如下 有一个选角面板,它的各个UI控件需要的效果如下 两面板的代码逻辑如下: MainPanel 这个脚本实现的功能如下: 面板的显隐(加载并装载自己) 控件监听 角色按钮显示RolePanel 读取并更新数据 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566using UnityEngine;using UnityEngine.UI;public class MainPanel : MonoBehaviour{ public Text txtName; public Text txtLev; public Text txtMoney; public Text txtGem; public Text...
UEX——Unity额外知识
UEX——Unity额外知识 该系列用于放置那些在课外学习总结或者课程内容仅有一节的散课笔记,或者记录论坛发帖 A星寻路算法理论基础
UD4SL3——Excel数据读取
UD4SL3——Excel数据读取 本章代码关键字 1234567891011121314151617181920//读取Excel相关IExcelDataReader //Excel数据读取接口ExcelReaderFactory.CreateOpenXmlReader() //通过流获取Excel数据,返回一个Excel数据读取接口类型对象DataSet //数据集类型iExcelDataReader.AsDataSet() //将Excel数据读取接口类型对象转换为数据集对象//数据集相关dataSet.Tables //数据集中的所有表dataSet.Tables[i].TableName //数据集中的某个表的表名dataSet.Tables[i].Rows ...
UD4SL2——导入Excel相关Dll包
UD4SL2——导入Excel相关Dll包 了解Excel表的本质 Excel表本质上也是一堆数据,只不过它有自己的存储读取规则 如果我们想要通过代码读取它,那么必须知道它的存储规则 官网是专门提供了对应的DLL文件用来解析Excel文件的 Dll文件:库文件,你可以理解为它是许多代码的集合,将相关代码集合在库文件中可以方便迁移和使用 有了某个DLL文件,我们就可以使用其中已经写好的代码 而Excel的DLL包就是官方已经把解析Excel表的相关类和方法写好了 方便用户直接使用 导入官方提供的Excel相关DLL文件 可以直接将下载好的DLL文件直接放入到Editor文件夹里,之后直接在代码里调用这个库即可
UD4SL1——Unity中添加菜单栏功能
UD4SL1——Unity中添加菜单栏功能 我们之后在学习通过Excel表生成数据的功能时,可以在菜单栏加一个按钮 点击后就可以自动为我们生成对应数据了 本章代码关键字 12[MenuItem()] //菜单栏相关AssetDatabase.Refresh() //刷新Project窗口 为编辑器菜单栏添加新的选项入口 此知识点更新了更具体详细的描述,这里的描述也已迁移过去,因此请直接看:——>...
UD4L7——C#类对象二进制数据加密
UD4L7——C#类对象二进制数据加密 何时加密?何时解密? 当我们将类对象转换为2进制数据时进行加密 当我们将2进制数据转换为类对象时进行解密 这样如果第三方获取到我们的2进制数据,当他们不知道加密规则和解密秘钥时就无法获取正确的数据 起到保证数据安全的作用 加密是否是100%安全? 一定记住加密只是提高破解门槛,没有100%保密的数据,通过各种尝试始终是可以破解加密规则的,只是时间问题 加密只能起到提升一定的安全性 常用加密算法 MD5算法 SHA1算法 HMAC算法 AES/DES/3DES算法 等等等 有很多的别人写好的第三发加密算法库,可以直接获取用于在程序中对数据进行加密 这里我们不深究,感兴趣的同学可以自己去了解 用简单的异或加密感受加密的作用 1234567891011121314151617181920212223242526272829Person p = new Person();byte key = 199; //密钥//序列化存储using (MemoryStream memoryStream = new...
UD4L6——C#类对象的反序列化
UD4L6——C#类对象的反序列化 本章代码关键字 1binaryFormatter.Deserialize() //二进制反序列化方法,传入流,返回object对象 二进制反序列化方法 主要类: BinaryFormatter 2进制格式化类 主要方法: Deserizlize() 参数:流,可以是文件流或是内存流(这个流存在字节数组) 返回值:反序列化出的object对象 反序列化文件中数据 主要类: FileStream文件流类 BinaryFormatter 2进制格式化类 主要方法: Deserizlize() 通过文件流打开指定的2进制数据文件 12345678910//通过文件流打开指定的二进制数据文件using (FileStream fileStream = File.Open(Application.dataPath + "/Lesson5_2.person", FileMode.Open, ...