唐老狮 UGUI 实战学习笔记

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

不是源码,不是源码!

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

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

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;//首先,写成抽象类用于继承
public abstract class 面板基类 : MonoBehaviour
{#region 基础变量//控制淡入淡出速度public float ShowOrHideSpeed = 10;//控制显示隐藏的变量public bool IsTure;//隐藏面板操作后的响应事件private UnityAction isCallBack;#endregion#region 获取画布组 //这里首先获得画布管理组件public CanvasGroup canvasGroup;protected virtual void Awake() {canvasGroup = GetComponent<CanvasGroup>();if (canvasGroup == null) {canvasGroup = this.gameObject.AddComponent<CanvasGroup>();}}#endregion#region 子面板重写监听方法//写一个必须要重写的抽象方法protected abstract void Init();protected virtual void Start() {Init();}#endregion#region 显隐函数public virtual void ShowMe() {//alpha为0时为透明//alpha为1时为显示IsTure = true;//初始化为0,后面会一点点加上canvasGroup.alpha = 0;}public virtual void HideMe(UnityAction action) {IsTure = false;//初始化为1,后面会一点点减去canvasGroup.alpha = 1;isCallBack = action;}#endregion// Update is called once per framevoid Update(){#region 触发显示//控制显示if (IsTure = true && canvasGroup.alpha != 1) {canvasGroup.alpha += ShowOrHideSpeed * Time.deltaTime;if (canvasGroup.alpha >= 1) {canvasGroup.alpha = 1;}}#endregion#region 触发隐藏//控制隐藏if (IsTure = false && canvasGroup.alpha != 0) {canvasGroup.alpha -= ShowOrHideSpeed * Time.deltaTime;if (canvasGroup.alpha <= 0) {canvasGroup.alpha = 0;// 调用存储的方法isCallBack?.Invoke();}}#endregion}
}

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

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

相关文章

深度解析Linux-C——结构体(初始化,结构体数组,结构体大小,位段操作,联合体,内存对齐,C的预处理,宏和带参宏,条件编译)

目录 结构体的三种初始化 结构体的两种引用 结构体数组 结构体大小 结构体实现位段操作 联合体 内存对齐 C的预处理 带参宏 条件编译 结构体的三种初始化 定义如下结构体 struct student {char name[100]; int age; float height; } ; 1、定义变量时初始化 s…

Matrix Equation(高斯线性异或消元+bitset优化)

题目&#xff1a; 登录—专业IT笔试面试备考平台_牛客网 思路&#xff1a; 我们发现对于矩阵C可以一列一列求。 mod2&#xff0c;当这一行相乘1的个数为奇数时&#xff0c;z(i,j)为1&#xff0c;偶数为0&#xff0c;是异或消元。 对于b[i&#xff0c;j]*c[i,j],b[i,j]可以…

【MQTT(4)】开发一个客户端,QT-Android安卓手机版本,Mosquitto替换成libhv库

我们采用 libhv是一个类似于libevent、libev、libuv的跨平台网络库&#xff0c;提供了更易用的接口和更丰富的协议。 https://github.com/ithewei/libhv?tabreadme-ov-file 编译脚本如下 Android compile WITH_MQTT #https://developer.android.com/ndk/downloads #export…

tof系统标定流程步骤详解

1、tof标定概述 系统校准是一个减少ToF系统中系统误差影响的过程,如图1.1所示。本文件旨在介绍校准方法、设备和软件 1.1 系统误差 1.1.1 周期误差 谐波失真导致的相位(距离)相关误差。 1.1.2 固定相位模式噪声 由于解调信号的时延取决于可见像素位置以及VCSEL和传感器…

c++中的最长递增子序列(Longest Increasing Subsequence)(算法章完结)

前言 hello大家好啊&#xff0c;我是文宇。 今天是最后一篇算法&#xff08;暂时性的&#xff0c;以后可能还有&#xff09; 最长递增子序列&#xff08;Longest Increasing Subsequence&#xff09; 最长递增子序列&#xff08;Longest Increasing Subsequence&#xff0c…

【Golang 面试基础题】每日 5 题(十)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/UWz06 &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 Golang 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏…

【机器学习】解开反向传播算法的奥秘

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 解开反向传播算法的奥秘反向传播算法的概述反向传播算法的数学推导1. 前向传播2…

Linux进程——程序地址空间详解

文章目录 程序地址空间地址空间与物理内存什么是程序地址空间管理程序地址空间虚拟地址与物理地址的映射页表的结构及其作用程序地址空间的作用 程序地址空间 我们之前学习内存的时候&#xff0c;有说内存的分布大概是这样的 其中堆由下而上&#xff0c;栈由上而下 除此之外&…

JavaScript青少年简明教程:函数及其相关知识(下)

JavaScript青少年简明教程&#xff1a;函数及其相关知识&#xff08;下&#xff09; 继续上一节介绍函数相关知识。 箭头函数&#xff08;Arrow Function&#xff09; 箭头函数是 ES6&#xff08;ECMAScript 2015&#xff09;及更高版本中引入的语法&#xff0c;用于简化函数…

LeetCode:删除排序链表中的重复元素(C语言)

1、问题概述&#xff1a;给定一个已排序链表的头&#xff0c;删除重复元素&#xff0c;返回已排序的链表 2、示例 示例 1&#xff1a; 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2] 示例 2&#xff1a; 输入&#xff1a;head [1,1,2,3,3] 输出&#xff1a;[1,2,3] 3…

深度解析Memcached:内存分配算法的优化之旅

&#x1f525; 深度解析Memcached&#xff1a;内存分配算法的优化之旅 Memcached是一个高性能的分布式内存缓存系统&#xff0c;广泛用于提高Web应用程序的性能。它通过减少数据库查询次数来加速数据检索。然而&#xff0c;Memcached的性能在很大程度上取决于其内存分配算法的…

前端三方库零碎(持续更新)

本文主要记录开发实践过程中遇到的前端库&#xff0c;做个记录总结&#xff0c;以备不时之需 easyui-datagrid EasyUI 是一个基于 jQuery 的用户界面插件库&#xff0c;提供了丰富的用户界面组件和工具&#xff0c;其中包括 datagrid&#xff08;数据表格&#xff09;组件。E…

2024年国际高校数学建模大赛(IMMCHE)问题A:金字塔石的运输成品文章分享(仅供学习)

2024 International Mathematics Molding Contest for Higher Education Problem A: Transportation of Pyramid Stones&#xff08;2024年国际高校数学建模大赛&#xff08;IMMCHE&#xff09;问题A&#xff1a;金字塔石的运输&#xff09; 古埃及金字塔石材运输优化模型研究…

spring(一)

一、spring特点 1.非侵入式&#xff1a;使用 Spring Framework 开发应用程序时&#xff0c;Spring 对应用程序本身的结构影响非常小。对领域模型可以做到零污染&#xff1b;对功能性组件也只需要使用几个简单的注解进行标记&#xff0c;完全不会破坏原有结构&#xff0c;反而能…

2024最新Selenium面试题(附带答案),建议收藏备用

一.你在TestNG中使用了哪些注解&#xff1f; TestBeforeSuiteAfterSuiteBeforeTestAfterTestBeforeClassAfterClassBeforeMethodAfterMethod 二.如何从Excel中读取数据&#xff1f; FileInputStream fs new FileInputStream(“excel文件路径”); Workbook wb WorkbookFact…

探索智慧校园资产入库功能,构建高效校园资产管理体系

在智慧校园的资产管理框架下&#xff0c;资产入库功能作为资产生命周期管理的开端&#xff0c;扮演着至关重要的角色。这一功能确保了新购置或转入的资产能够迅速而准确地被记录在系统中&#xff0c;从而无缝融入日常的管理流程。当资产入库时&#xff0c;系统要求详细登记一系…

2024最新前端学习路线指南!

2024最新前端学习路线指南&#xff01; 如果你正在寻找一份全面的前端学习路线图&#xff0c;那么这份精心打造的学习大纲恰好符合您的需求。无论您是新手还是经验丰富的开发者&#xff0c;这份路线图都能够帮助您系统地掌握前端开发的关键知识点&#xff0c;并在实践中不断提…

git连接远程仓库

一、本地新建代码,上传到远程仓库 1.git init #初始化本地仓库 2.git remote -v #查看当前仓库的远程地址 3.git remote add origin 远程仓库的URL 4.git branch master / git branch dev 创建 主分支或者 dev 分支 5.git checkout master/dev. 切换到主分支或者dev 分支…

Mysql-生产环境实战经验总结

文章目录 真实生产环境下的Mysql数据库机器配置如何规划互联网公司的生产环境数据库是如何进行性能压测1. 准备测试环境2. 构建测试场景3. 性能测试4. 监控与分析5. 资源压力测试6. 故障恢复测试7. 文档记录与复盘8. 安全与合规注意事项 如何为生产环境中的数据库部署监控系统1…

<PLC><HMI><汇川>在汇川HMI画面中,如何为UI设置全局样式?

前言 汇川的HMI软件是使用了Qt来编写的,因此在汇川的HMI程序编写过程,是支持使用qt的样式来自定义部件样式的,即qss格式。 概述 汇川的软件本身提供三个系统的style样式,我们可以直接使用,但是,如果系统提供的样式不符合你的需求,那么你可以对其进行修改,或者自己新建…