新闻详情

新闻详情

首页 / 资讯中心 / 详情

Unity UI MVC笔记

发布时间:2026/9/2 7:51:28来源:尧图网络
Unity UI MVC笔记
概述MVC的核心就是视图类不写任何业务代码只接受和视图类适配的拿来能直接显示、绑定回调的数据类。比如图标不能传资源路径而要传Sprite。MVC的反义词则是一个类负责视图显示和业务它会去其他类拿自己要的数据然后处理业务、显示。为什么要用MVC一个面板如果要在游戏不同场景里显示数据来自不同的类在A场景里来自A类在B场景来自B类且B场景根本不存在A类。这时候如果不用MVC就要在面板里if判断当前场景然后这个面板会同时引用到A类和B类代码极其繁琐混乱。用MVC则让C判断场景类型去相应的类拿到数据喂给V。在一个面板多场景复用的情况下MVC是必须的。在一个面板只用在一个场景时则可以为复用做好准备。复用视图类意味着视图类不能引用控制器引用控制器意味着和特定场景耦合。而一些视图显示的信息来自不止一个模块视图不引用控制器模块要保持独立肯定也不引用视图那么就让控制器引用它们所有。包含动态生成控件的面板的MVC动态生成按钮、格子的面板点击后通常会在选中项显示选中框会显示详情页或者固定的详情页更新。肯定有一个生成控件列表要记录当前选中项这些是放在视图还是控制器按照视图的职责控件引用肯定要放视图否则视图就没意义了。动态生成控件、记录当前选中项、切换选中项的显示本身又是业务代码。如果把这些业务代码也放控制器那生成控件就是控制器把控件列表克隆好传入视图由视图的成员引用。记录当前选中项如果放在控制器控制器创建控件时绑定好点击方法包括原来选中项取消选中点击项选中切换选中项的显示放在控制器控件引用在视图那么控制器一定要调用视图的一个方法。必须放在视图的成员只有需要从检查器拖的对象。比如挂载控件的根物体。控制器把控件列表生成好由视图挂载。选中项是玩家按下选中当前选中取消按下的控件赋值给选中项当前选中项选中。如果生成控件列表、选中项都放视图视图负责生成控件、选中项的切换属于把一部分UI业务放在视图类按照MVC控制器准备好参数给视图视图动态生成控件再传参给动态控件。这里一个问题是点击控件触发切换选中项这个方法在视图要么控制器访问视图拿到这个方法塞进参数要么到视图这一步绑定然后发现在foreach里不允许改循环项。那这个点击的委托就作为控件的初始化参数传入不再放在参数类里。就像这一段控件初始化回调单独作为一个参数传入如果把config直接传入这foreach里不允许修改config里的内容也就无法在这一步把切换选中加进去。如果按一个控件要切换选中显示还要更新详情页切换选中方法在视图更新详情方法在控制器等于一个格子的按下回调在2步中被添加2个回调。这里是背包显示格子我发现这里修改foreach项并不报错。但是这个例子报错。我查了一下因为这里循环元素是结构体用类就没问题。按钮对应有参回调动态生成按钮列表的、有输入栏的、有下拉框的面板按下确定时本质是把选中项作为参数执行回调。这个确定按钮表面无参实际需要在视图类封装一个有参委托执行。参数类型取决于输入控件类型。有很多需要单独更新的控件的面板的MVC很多面板如HUD控件很多初始化时全部更新一次显示之后则是哪一块数据更新单独更新显示那么控制器需要更新每个控件的方法。那么此时这些数据没有必要加入视图参数类了显示面板时把更新方法全调用一遍参数类放按钮回调等只需要绑定一次永远不变的参数。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

零基础学Linux?别背命令大全,先跑通最小操作闭环 2026/9/2 20:11:52

零基础学Linux?别背命令大全,先跑通最小操作闭环

你刚拿到一台 Linux 云服务器,准备把一个项目部署上去。查了几篇教程,下载了好几个“命令大全”,收藏了十来个视频,结果第一步就卡住了:该用什么命令传文件?要不要用 root?为什么目录结构跟 Win…

阅读更多 →
rdseed源码编译与SEED转SAC实战:从Linux环境配置到conda打包迁移 2026/9/2 20:11:52

rdseed源码编译与SEED转SAC实战:从Linux环境配置到conda打包迁移

简介:rdseedv5.2 是地震学领域处理 SEED 标准格式数据的经典命令行工具包,面向需要读取、解析和转换地震记录的研究人员、数据分析师及地球物理专业学生。该版本在数据提取、格式转换、质量检查、时间序列分析与归档方面提供完整功能,尤其适合…

阅读更多 →
零基础学Linux核心命令:从环境搭建到云计算运维实战 2026/9/2 20:11:52

零基础学Linux核心命令:从环境搭建到云计算运维实战

各位读者朋友好。近几年云计算运维岗位需求一直很稳定,而 Linux 几乎是所有服务器、云主机、容器平台的操作系统底座。不管你是刚转行准备找运维工作,还是后端开发想补齐服务器操作能力,Linux 系统操作和核心命令都是绕不开的第一步。网上讲 …

阅读更多 →
近红外在线水分仪:原理、标定与现场部署关键指南 2026/9/2 20:11:52

近红外在线水分仪:原理、标定与现场部署关键指南

一条饲料生产线上的品控员,下午两点接到化验室电话:上一批颗粒成品的出机水分超标了。他放下电话先看了一眼盘面数据和排产记录,然后又翻了一下批次取样记录。问题在于,物料在制粒机、调质器、干燥冷却环节里早就走完了&#xff0…

阅读更多 →
Linux系统操作与核心命令实战:从零打通云计算运维基础 2026/9/2 20:11:52

Linux系统操作与核心命令实战:从零打通云计算运维基础

Linux云计算运维这条路,很多人一开始都会卡在同一个问题上:拿到一台Linux系统,不知道从哪一步开始操作。网上的命令清单一大堆,但遇到了目录、权限、进程、服务、日志混在一起的实际场景,还是不知道先执行哪条。这篇教…

阅读更多 →
拆解企业级激活工具包:Activator v1.9的架构设计与离线激活实战 2026/9/2 20:08:52

拆解企业级激活工具包:Activator v1.9的架构设计与离线激活实战

简介:Activator_v1.9.rar 是一套面向 iPhone、iPad 用户解除 iCloud 激活锁的工具包,解决设备被锁、二手设备无法验证 Apple ID 等场景下的恢复问题。资源包共 317 个文件,压缩后仅 6.49MB,核心为 iCloudBREAK_v1.9.exe 主程序&am…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞