Unity学习之Unity中的MVC思想

文章目录

  • 1 前言
  • 2 MVC的基本概念
  • 3 不使用MVC思想制作UI逻辑
    • 3.1 拼面板
    • 3.2 面板脚本
    • 3.3 角色面板逻辑
    • 3.4 角色升级
  • 4 使用MVC思想制作UI逻辑
    • 4.1 Model数据脚本
    • 4.2 View界面脚本
      • 4.2.1 MainView主界面
      • 4.2.2 RoleView 角色面板界面
    • 4.3 Controller业务逻辑脚本
      • 4.3.1 MainController
      • 4.3.2 RoleController


1 前言

在这里插入图片描述
在这里插入图片描述

2 MVC的基本概念

在这里插入图片描述
模型 —— 数据
视图 —— 用户界面UI
控制器 —— 用户交互的业务逻辑

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 不使用MVC思想制作UI逻辑

3.1 拼面板

在这里插入图片描述
在这里插入图片描述

3.2 面板脚本

在这里插入图片描述
在这里插入图片描述

提供函数给外部进行UI的显示和隐藏
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.3 角色面板逻辑

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
显示和隐藏函数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4 角色升级

在这里插入图片描述

4 使用MVC思想制作UI逻辑

4.1 Model数据脚本

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
使用事件 传出自己的数据通知外部更新
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在保存数据时进行更新
在这里插入图片描述
构建单例模式
在这里插入图片描述
给数据声明公共属性,防止外部更改
在这里插入图片描述

4.2 View界面脚本

在这里插入图片描述

4.2.1 MainView主界面

在这里插入图片描述
提供方法 更改显示的信息
在这里插入图片描述

4.2.2 RoleView 角色面板界面

在这里插入图片描述

在这里插入图片描述

4.3 Controller业务逻辑脚本

4.3.1 MainController

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
初始化时进行数据更新同步
并给事件进行添加
在这里插入图片描述
在这里插入图片描述

4.3.2 RoleController

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第一次更新面板,给model增加 新事件监听
在这里插入图片描述
在这里插入图片描述

点击按钮显示角色面板
在这里插入图片描述
关闭流程

在这里插入图片描述
点击升级按钮
在这里插入图片描述
实现数据改变后更新数据
给事件添加函数
在这里插入图片描述
在这里插入图片描述

记得移除事件
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/696413.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开源软件????】

开源软件的影响力在当今的科技领域越来越显著,它已经成为软件开发的主流趋势之一。开源软件具有开放源代码、可免费使用、可自由分发等特点,这使得它在全球范围内得到了广泛的应用和支持。本文将围绕开源软件如何推动技术创新、开源软件的商业模式、开源…

phaseDNN文章解读

文章DOI: https://doi.org/10.48550/arXiv.1905.01389 作者是 Southern Methodist University 的Wei Cai 教授 A Parallel Phase Shift Deep Neural Network for Adaptive Wideband Learning 一种并行移相深度神经网络来自适应学习宽带频率信号 20190514 核心思想:…

跟着pink老师前端入门教程(JavaScript)-day05

六、语句 (一)表达式和语句 1、表达式 表达式是可以被求值的代码,JavaScript 引擎会将其计算出一个结果。 2、语句 语句是一段可以执行的代码。 比如: prompt() 可以弹出一个输入框,还有 if语句 for 循环语句等…

h5 js监听手机切到后台和切回

在H5中可以使用JavaScript来监听手机从前台切换到后台或者从后台切换回前台的事件。 监听页面进入/退出后台(切换到其他应用): document.addEventListener(visibilitychange, function() {if (document.hidden) { // 当页面被切换至后台时c…

C# 类型的默认值(C# 参考)

C# 类型的默认值 - C# 参考 - C# | Microsoft Learn EntityFrameworkQueryableExtensions.FirstOrDefaultAsync 方法 (Microsoft.EntityFrameworkCore) | Microsoft Learn 当使用EFCore的FirstOrDefaultAsync方法时,需清楚当查询不到数据返回null还是什么&#xf…

jQuery浅析

jQuery 是一个快速、简洁的 JavaScript 库,旨在简化 HTML 文档遍历、事件处理、动画以及 Ajax 交互等功能。由 John Resig 在2006年创建,它极大地简化了JavaScript开发人员在处理网页文档、选择DOM元素以及执行各种效果和功能时的工作。 核心特性&#x…

Socks5代理IP详解:优势与应用场景

Socks5代理IP作为网络代理技术的前沿选择,其在多方面的优势使其在2024年成为了热门选择。 一、Socks5代理IP的核心特性 1、Socks5代理IP与其他代理类型的比较 HTTP代理设计用于web浏览,仅支持HTTP和HTTPS协议。 Socks4代理支持更多类型的网络协议&…

rust实战系列十二:浮点类型

Rust提供了基于IEEE 754-2008标准的浮点类型。按占据空间大小区分,分别为 f32和f64,其使用方法与整型差别不大。浮点数字面量表示方式有如下几种: 输出结果为: let f1 123.0f64; let f2 0.1f64; let f3 0.1f32; let f4 12E99_f64; let f5 : f64 2.…

欧拉回路和欧拉路径

在一张图中,从一个点出发每条边经过且只经过一次得到的路径,如果最后回到起点,那么就是欧拉回路,如果最后没有回到起点,那么得到的就是欧拉路径。 在无向图中,欧拉路径满足的要求是,除了起点和…

DM数据库学习之路(十六)DEM部署DM8DPC集群

DEM部署DPC集群 DPC准备工作 在所有安装DPC服务器上部署dmagent,dmagent的运行环境需要依赖JAVA环境,JAVA版本必须为JAVA1.8。 创建用户 所有安装DPC服务器,手工建dmdba用户 # groupadd dinstall # useradd -g dinstall -d /home/dmdba…

并发编程之深入理解Java线程

并发编程之深入理解Java线程 线程基础知识 线程和进程 进程 程序由指令和数据组成、但这些指令要运行,数据要读写,就必须要将指令加载至CPU、数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理IO的…

Jmeter内置变量 vars 和props的使用详解

JMeter是一个功能强大的负载测试工具,它提供了许多有用的内置变量来支持测试过程。其中最常用的变量是 vars 和 props。 vars 变量 vars 变量是线程本地变量,它们只能在同一线程组内的所有线程中使用(线程组内不同线程之间变量不共享&#…

模型转换案例学习:等效替换不支持算子

文章介绍 Qualcomm Neural Processing SDK (以下简称SNPE)支持Caffe、ONNX、PyTorch和TensorFlow等不同ML框架的算子。对于某些特定的不支持的算子,我们介绍一种算子等效替换的方法来完成模型转换。本案例来源于https://github.com/quic/qidk…

并发编程(2)基础篇-管程

4 共享模型之管程 本章内容 共享问题synchronized线程安全分析Monitorwait/notify线程状态转换活跃性Lock 4.1 共享带来的问题 4.1.1 小故事 老王(操作系统)有一个功能强大的算盘(CPU),现在想把它租出去&#xff…

基础小白快速入门Python->Python中的类

什么是类? 在编程语言中,类(Class)是一个用于创建对象的蓝图或模板。它定义了对象的属性(也称为成员变量)和方法(也称为成员函数)。类是面向对象编程(OOP)的…

2024 全国水科技大会暨第二届智慧水环境管理与技术创新论坛

论坛二:第二届智慧水环境管理与技术创新论坛 召集人:刘炳义 武汉大学智慧水业研究所所长、教授 为贯彻落实中共中央国务院印发《数字中国建设整体布局规划》和国务院关于印发《“十四五”数字经济发展规划》的通知,推动生态环境智慧治理&…

L2 清点代码库----PTA(疑问)

上图转自新浪微博:“阿里代码库有几亿行代码,但其中有很多功能重复的代码,比如单单快排就被重写了几百遍。请设计一个程序,能够将代码库中所有功能重复的代码找出。各位大佬有啥想法,我当时就懵了,然后就挂…

docker pullpush 生成镜像文件并push 到阿里云

pull docker docker pull ultralytics/ultralytics # 拉取yolov8的镜像仓库 docker run -it ultralytics/ultralytics # 运行镜像 conda create -n gsafety python3.8 # 创建环境 source activate gsafety # 激活环境 pip install -i https://pypi.tuna.tsinghua.edu.cn/simp…

糖尿病性视网膜病变(DR)的自动化检测和分期

糖尿病性视网膜病变(DR)的自动化检测和分期 提出背景DR的阶段及其特征 历年解法计算机视觉方法多分类方法 新的解法深度学习方法迁移学习大模型多模型集成全流程分析 总结特征1:图像分割特征2:疾病分级特征3:治疗建议生…

开源模型应用落地-工具使用篇-获取文本向量(五)

一、前言 在之前学习的"开源模型应用落地-工具使用篇"系列文章中,我们已经学会了如何使用向量数据库。然而,还有一个问题一直未解决,那就是如何处理文本向量。在本文中,我们将继续深入学习关于向量的知识,特…