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

unity——Preject3——面板基类

目录

1.Canvas Group

Canvas Group 的功能

Canvas Group 的常见用途

如何使用 Canvas Group

2.代码

 3.代码分析

类分析:BasePanel

功能

作用

实际应用

代码解析:hideCallBack?.Invoke();

语法知识点

作用

虚函数(virtual)和抽象类(abstract)的作用与区别

虚函数(virtual)

抽象类(abstract)

在 BasePanel 中的应用

总结

4.抽象类

抽象类的实际应用场景

总结


1.Canvas Group

Canvas Group 是 Unity 中用于控制 UI 元素组的一种组件。它可以同时影响一组 UI 元素的某些属性,而不需要逐个修改每个元素。Canvas Group 通常用于管理 UI 元素的可见性、交互性和透明度等。

Canvas Group 的功能

Canvas Group 提供了以下主要功能:

  1. Alpha(透明度)

    • 控制组内所有 UI 元素的整体透明度。

    • 值为 1 时完全不透明,值为 0 时完全透明。

    • 适用于淡入淡出效果。

  2. Interactable(可交互性)

    • 控制组内所有 UI 元素是否可以交互(如按钮是否可点击)。

    • 如果设置为 false,组内的所有交互元素(如按钮、输入框等)将不可用。

  3. Blocks Raycasts(阻挡射线检测)

    • 控制组内所有 UI 元素是否阻挡射线检测(用于检测鼠标点击或触摸)。

    • 如果设置为 false,UI 元素将不会响应点击事件,即使它们可见。

  4. Ignore Parent Groups(忽略父级 Canvas Group)

    • 如果启用,当前 Canvas Group 将忽略父级 Canvas Group 的设置。

    • 默认情况下,子对象的 Canvas Group 会继承父对象的设置。


Canvas Group 的常见用途

  1. UI 元素的淡入淡出

    • 通过调整 Alpha 值,可以实现 UI 元素的淡入淡出效果。

  2. 禁用一组 UI 元素

    • 通过设置 Interactable 为 false,可以快速禁用一组 UI 元素的交互功能。

  3. 隐藏 UI 元素但保留布局

    • 通过设置 Alpha 为 0 并禁用 Blocks Raycasts,可以隐藏 UI 元素但仍保留它们在布局中的位置。

  4. 嵌套 UI 组的管理

    • 在复杂的 UI 结构中,可以使用多个 Canvas Group 分层管理 UI 元素的交互性和可见性。

如何使用 Canvas Group

  1. 添加 Canvas Group 组件

    • 在 Unity 编辑器中,选择一个 UI 元素(如 Panel 或 Button)。

    • 点击 Add Component,搜索并添加 Canvas Group

  2. 通过代码控制 Canvas Group

    • 可以通过脚本动态修改 Canvas Group 的属性。例如:

      CanvasGroup canvasGroup = GetComponent<CanvasGroup>();
      canvasGroup.alpha = 0.5f; // 设置透明度
      canvasGroup.interactable = false; // 禁用交互
      canvasGroup.blocksRaycasts = false; // 禁用射线检测

2.代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;// 面板基类
public abstract class BasePanel : MonoBehaviour
{//控制面板透明度组件private CanvasGroup canvasGroup;//淡入淡出的速度private float alphaSpeed = 10;//当前是隐藏还是显示public bool isShow = false;//当界面隐藏完毕后想要做的事情private UnityAction hideCallBack = 

相关文章:

unity——Preject3——面板基类

目录 1.Canvas Group Canvas Group 的功能 Canvas Group 的常见用途 如何使用 Canvas Group 2.代码 3.代码分析 类分析:BasePanel 功能 作用 实际应用 代码解析:hideCallBack?.Invoke(); 语法知识点 作用 虚函数(virtual)和抽象类(abstract)的作用与区别 …...

BTC系列 - 启示录

推荐《区块链启示录&#xff1a;中本聪文集》这本书, 原来早在2010年, BTC生态还不完善的时候, 社区中就已经畅想出了未来其它链上的特色方案, 中本聪也都一一做了教父级回应: coinbase币的成熟时间, 交易池, 交易确认机制, 防51%攻击, 防双重消费, 水龙头, 轻量级客户端, 链上…...

C# 25Dpoint

C# 25Dpoint &#xff0c;做一个备份 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;namespace _25Dpoint {public partial cl…...

Kotlin构造函数

class Person {var name: String? nullvar age: Int? nullfun think() {println("Mr./Ms.$name, who is $age years old, is thinking!")} }fun main () {val p Person()p.name "Jimmy"p.age 20p.think() } 在Kotlin中任意一个非抽象类都无法被继承…...

springMVC---resultful风格

目录 一、创建项目 pom.xml 二、配置文件 1.web.xml 2.spring-mvc.xml 三、图解 四、controller 一、创建项目 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi…...

flutter 装饰类【BoxDecoration】

装饰类 BoxDecoration BoxDecoration 是 Flutter 中用于控制 Container 等组件外观的装饰类&#xff0c;它提供了丰富的属性来设置背景、边框、圆角、阴影等样式。 BoxDecoration 的主要属性 1.color 背景颜色。类型&#xff1a;Color?示例&#xff1a; color: Colors.blu…...

自动连接校园网wifi脚本实践(自动网页认证)

目录 起因执行步骤分析校园网登录逻辑如何判断当前是否处于未登录状态&#xff1f; 书写代码打包设置开机自动启动 起因 我们一般通过远程控制的方式访问实验室电脑&#xff0c;但是最近实验室老是断电&#xff0c;但重启后也不会自动连接校园网账户认证&#xff0c;远程工具&…...

微信小程序集成Vant Weapp移动端开发的框架

什么是Vant Weapp Vant 是一个轻量、可靠的移动端组件库&#xff0c;于 2017 年开源。 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本&#xff0c;并由社区团队维护 React 版本和支付宝小程序版本。 官网地睛&#xff1a;介绍 - Vant Weapp (vant-ui.gith…...

MySQL从库 Last_SQL_Errno: 1197 问题处理过程

记录一个遇到过的错误&#xff0c;今天整理一下。 问题 MySQL error code MY-001197 (ER_TRANS_CACHE_FULL): Multi-statement transaction required morethan max_binlog_cache_size bytes of storage; increase this mysqld variable and try again报错很明显是max_binlog_…...

springboot 加载本地jar到maven

在Spring Boot项目中&#xff0c;如果你想要加载一个本地的jar文件到Maven本地仓库&#xff0c;你可以使用Maven的install-file目标来实现。以下是一个简单的例子&#xff1a; 打开命令行工具&#xff08;例如&#xff1a;终端或者命令提示符&#xff09;。 执行以下Maven命令…...

面向B站商业化场景的广告标题智能推荐

01.背景 大模型的发展也在不断改变广告主/代理商广告创编的过程&#xff0c;为了提高广告主的创作效率&#xff0c;提升广告主投放标题的质量&#xff0c;我们利用大语言模型技术以及B站商业数据&#xff0c;能够让广告主仅需要输入特定的关键词&#xff0c;即可以生成理论上无…...

element plus 使用 upload 组件达到上传数量限制时隐藏上传按钮

最近在重构项目&#xff0c;使用了 element plus UI框架&#xff0c;有个功能是实现图片上传&#xff0c;且限制只能上传一张图片&#xff0c;结果&#xff0c;发现&#xff0c;可以限制只上传一张图片&#xff0c;但是上传按钮还在&#xff0c;如图&#xff1a; 解决办法&…...

java进行pdf文件压缩

文章目录 pdf文件压缩 pdf文件压缩 添加依赖 <dependency><groupId>com.luhuiguo</groupId><artifactId>aspose-pdf</artifactId><version>23.1</version> </dependency>public class OptimizePdf {public static void opti…...

初识算法和数据结构P1:保姆级图文详解

文章目录 前言1、算法例子1.1、查字典&#xff08;二分查找算法&#xff09;1.2、整理扑克&#xff08;插入排序算法&#xff09;1.3、货币找零&#xff08;贪心算法&#xff09; 2、算法与数据结构2.1、算法定义2.2、数据结构定义2.3、数据结构与算法的关系2.4、独立于编程语言…...

内网服务器添加共享文件夹功能并设置端口映射

参考网址 https://blog.csdn.net/Think88666/article/details/118438465 1.服务器安装smb服务&#xff0c;由于网路安全不允许使用默认端口&#xff08;445&#xff0c;446&#xff09;&#xff0c;于是修改端口为62445、62446。 2.每台需要共享的电脑都要修改端口映射&#x…...

ruoyi-cloud docker启动微服务无法连接nacos,Client not connected, current status:STARTING

ruoyi-cloud docker启动微服务无法连接nacos&#xff0c;Client not connected, current status:STARTING 场景 当使用sh deploy.sh base来安装mysql、redis、nacos环境后&#xff0c;紧接着使用sh deploy.sh modules安装微服务模块&#xff0c;会发现微服务无法连接nacos的情…...

Python----Python高级(函数基础,形参和实参,参数传递,全局变量和局部变量,匿名函数,递归函数,eval()函数,LEGB规则)

一、函数基础 1.1、函数的用法和底层分析 函数是可重用的程序代码块。 函数的作用&#xff0c;不仅可以实现代码的复用&#xff0c;更能实现代码的一致性。一致性指的是&#xff0c;只要修改函数的代码&#xff0c;则所有调用该函数的地方都能得到体现。 在编写函数时&#xf…...

excel 整理表格,分割一列变成多列数据

数据准备 对于很多系统页面的数据是没有办法下载的。 这里用表格数据来举例。随便做数据的准备。想要看excel部分的可以把这里跳过&#xff0c;从数据准备完成开始看。 需要一点前端基础知识&#xff0c;但不多&#xff08;不会也行&#xff09;。 把鼠标放在你想要拿到本地的…...

Oracle 分区索引简介

目录 一. 什么是分区索引二. 分区索引的种类2.1 局部分区索引&#xff08;Local Partitioned Index&#xff09;2.2 全局分区索引&#xff08;Global Partitioned Index&#xff09; 三. 分区索引的创建四. 分区索引查看4.1 USER_IND_COLUMNS 表4.2 USER_INDEXES 表 五. 分区索…...

C++实现设计模式--- 观察者模式 (Observer)

观察者模式 (Observer) 观察者模式 是一种行为型设计模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;使得当一个对象的状态发生改变时&#xff0c;其依赖者&#xff08;观察者&#xff09;会收到通知并自动更新。 意图 定义对象之间的一对多依赖关系。当一个对象状…...

CentOS 6.8 安装 Nginx

个人博客地址&#xff1a;CentOS 6.8 安装 Nginx | 一张假钞的真实世界 提前安装&#xff1a; # sudo yum install yum-utils 一般情况下这个工具系统已经安装。 创建文件/etc/yum.repos.d/nginx.repo&#xff0c;输入内容如下&#xff1a; [nginx-stable] namenginx stab…...

px、em 和 rem 的区别:深入理解 CSS 中的单位

文章目录 前言一、px - 像素 (Pixel)二、em - 相对父元素字体大小 (Ems)三、rem - 相对于根元素字体大小 (Root Ems)四、综合比较结语 前言 在CSS中&#xff0c;px、em和rem是三种用于定义尺寸&#xff08;如宽度、高度、边距、填充等&#xff09;的长度单位。它们各自有不同的…...

vue 表格内点编辑,单元格不切换成输入框问题分析

vue 表格渲染时&#xff0c;我点击编辑时&#xff0c;想直接在单元格上面进行编辑。 效果如下&#xff0c;正常是文本效果&#xff0c;点击编辑时&#xff0c;出现输入框 其实实现起来&#xff0c;逻辑很简单&#xff0c;但是中间我却出现了一个问题&#xff0c;效果始终出不…...

MATLAB学习笔记-table

1.在table中叠加table table 的每一列具有固定的数据类型。如果要让表的所有单元格都可以任意填充&#xff0c;就得让每一列都是 cell 类型&#xff0c;这样表中每个单元格都是“一个元胞”。创建时可以先构造一个 空 cell 数组&#xff08;大小为行数列数&#xff09;&#x…...

使用 selenium-webdriver 开发 Web 自动 UI 测试程序

优缺点 优点 有时候有可能一个改动导致其他的地方的功能失去效果&#xff0c;这样使用 Web 自动 UI 测试程序可以快速的检查并定位问题&#xff0c;节省大量的人工验证时间 缺点 增加了维护成本&#xff0c;如果功能更新过快或者技术更新过快&#xff0c;维护成本也会随之提高…...

ffmpeg硬件编码

使用FFmpeg进行硬件编码可以显著提高视频编码的性能&#xff0c;尤其是在处理高分辨率视频时。硬件编码利用GPU或其他专用硬件&#xff08;如Intel QSV、NVIDIA NVENC、AMD AMF等&#xff09;来加速编码过程。以下是使用FFmpeg进行硬件编码的详细说明和示例代码。 1. 硬件编码支…...

脚本化挂在物理盘、nfs、yum、pg数据库、nginx(已上传脚本)

文章目录 前言一、什么是脚本化安装二、使用步骤1.物理磁盘脚本挂载&#xff08;离线&#xff09;2.yum脚本化安装&#xff08;离线&#xff09;3.nfs脚本化安装&#xff08;离线&#xff09;4.pg数据库脚本化安装&#xff08;离线&#xff09;5.nginx脚本化安装&#xff08;离…...

// Error: line 1: XGen: Candidate guides have not been associated!

Maya xgen 报错// Error: line 1: XGen: Candidate guides have not been associated! 复制下面粘贴到Maya脚本管理器python运行&#xff1a; import maya.cmds as cmds def connect_xgen_guides():guide_nodes cmds.ls(typexgmMakeGuide)for node in guide_nodes:downstream…...

投机解码论文阅读:Falcon

题目&#xff1a;Falcon: Faster and Parallel Inference of Large Language Models through Enhanced Semi-Autoregressive Drafting and Custom-Designed Decoding Tree 地址&#xff1a;https://arxiv.org/pdf/2412.12639 一看它的架构图&#xff0c;可以发现它是基于EAGLE…...

OpenCV实现基于交叉双边滤波的红外可见光融合算法

1 算法原理 CBF是*Cross Bilateral Filter(交叉双边滤波)*的缩写&#xff0c;论文《IMAGE FUSION BASED ON PIXEL SIGNIFICANCE USING CROSS BILATERAL FILTER》。 论文中&#xff0c;作者使用交叉双边滤波算法对原始图像 A A A&#xff0c; B B B 进行处理得到细节&#xff0…...

Springboot整合WebService

1.1 概述 webservice 即 web 服务&#xff0c;因互联网而产生&#xff0c;通过 webservice 这种 web 服务&#xff0c;我们可以实现互联网应 用之间的资源共享&#xff0c;比如我们想知道 手机号码归属地&#xff0c;列车时刻表&#xff0c;天气预报&#xff0c;省市区邮…...

504 Gateway Timeout:网关超时解决方法

一、什么是 504Gateway Timeout&#xff1f; 1. 错误定义 504 Gateway Timeout 是 HTTP 状态码的一种&#xff0c;表示网关或代理服务器在等待上游服务器响应时超时。通俗来说&#xff0c;这是服务器之间“对话失败”导致的。 2. 常见触发场景 Nginx 超时&#xff1a;反向代…...

C++ 的 pair 和 tuple

1 std::pair 1.1 C 98 的 std::pair 1.1.1 std::pair 的构造 ​ C 的二元组 std::pair<> 在 C 98 标准中就存在了&#xff0c;其定义如下&#xff1a; template<class T1, class T2> struct pair;std::pair<> 是个类模板&#xff0c;它有两个成员&#x…...

抢十八游戏

前言 我国民国一直流传着一个名叫“抢十八”的抢数游戏&#xff1a;参与游戏的两人从1开始轮流报数&#xff0c;每次至少报1个数&#xff0c;最多报2个数&#xff0c;每人报的每个数不得与自已报过的或对方报过的重复&#xff0c;也不得跳过任何一个数。谁先报到18&#xff0c…...

从玩具到工业控制--51单片机的跨界传奇【2】

咱们在上一篇博客里面讲解了什么是单片机《单片机入门》&#xff0c;让大家对单片机有了初步的了解。我们今天继续讲解一些有关单片机的知识&#xff0c;顺便也讲解一下我们单片机用到的C语言知识。如果你对C语言还不太了解的话&#xff0c;可以看看博主的C语言专栏哟&#xff…...

LLM实现视频切片合成 前沿知识调研

1.相关产品 产品链接腾讯智影https://zenvideo.qq.com/可灵https://klingai.kuaishou.com/即梦https://jimeng.jianying.com/ai-tool/home/Runwayhttps://aitools.dedao.cn/ai/runwayml-com/Descripthttps://www.descript.com/?utm_sourceai-bot.cn/Opus Cliphttps://www.opu…...

学习threejs,使用FlyControls相机控制器

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.FlyControls 相机控制…...

wordpress 房产网站筛选功能

自定义分类法创建 add_action( init, ashu_post_type ); function ashu_post_type() {register_taxonomy(province,post,array(label => 省,rewrite => array( slug => province ),hierarchical => true));register_taxonomy(city,post,array(label => 市,rewr…...

SQL面试题2:留存率问题

引言 场景介绍&#xff1a; 在互联网产品运营中&#xff0c;用户注册量和留存率是衡量产品吸引力和用户粘性的关键指标&#xff0c;直接影响产品的可持续发展和商业价值。通过分析这些数据&#xff0c;企业可以了解用户行为&#xff0c;优化产品策略&#xff0c;提升用户体验…...

Redis是单线程还是多线程?

大家好&#xff0c;我是锋哥。今天分享关于【Redis是单线程还是多线程&#xff1f;】面试题。希望对大家有帮助&#xff1b; Redis是单线程还是多线程&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis是 单线程 的。 尽管Redis的处理是单线程的&a…...

mysql 变量,流程控制与游标

第16章_变量,流程控制与游标 1.变量 分为系统变量和用户自定义变量 1.1系统变量 1.1.1系统变量分类 系统变量分为全局系统变量以及会话系统变量 查看所有全局变量 SHOW GLOBAL VARIABLES 查看所有会话变量 SHOW SESSION VARIABLESor SHOW VARIABLES #默认是会话变量 …...

Java配置log4j日志打印

1. 引入依赖 <dependencies><!-- Log4j 2依赖 --><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId><version>1.2.14</version> <!-- 可以根据需要修改版本 --></…...

什么是SQL?

什么是SQL&#xff1f; SQL&#xff08;Structured Query Language&#xff0c;结构化查询语言&#xff09;是一种用于与关系型数据库进行交互的标准编程语言。SQL 是设计用于管理和操作关系型数据库的语言&#xff0c;主要用于查询、插入、更新、删除和定义数据结构。SQL 是关…...

Linux 机器学习

Linux 机器学习是指在 Linux 操作系统环境下进行机器学习相关的开发、训练和应用。 具体步骤 环境搭建&#xff1a; 选择合适的 Linux 发行版&#xff1a;如 Ubuntu、Fedora、Arch Linux 等。Ubuntu 因其易用性和丰富的软件包管理系统&#xff0c;适合初学者&#xff1b;Fed…...

HarmonyOS 鸿蒙 ArkTs(5.0.1 13)实现Scroll下拉到顶刷新/上拉触底加载,Scroll滚动到顶部

HarmonyOS 鸿蒙 ArkTs(5.0.1 13)实现Scroll下拉到顶刷新/上拉触底加载 效果展示 使用方法 import LoadingText from "../components/LoadingText" import PageToRefresh from "../components/PageToRefresh" import FooterBar from "../components/…...

第27章 汇编语言--- 设备驱动开发基础

汇编语言是低级编程语言的一种&#xff0c;它与特定的计算机架构紧密相关。在设备驱动开发中&#xff0c;汇编语言有时用于编写性能关键的部分或直接操作硬件&#xff0c;因为它是接近机器语言的代码&#xff0c;可以提供对硬件寄存器和指令集的直接访问。 要展开源代码详细叙…...

sosadmin相关命令

sosadmin命令 以下是本人翻译的官方文档&#xff0c;如有不对&#xff0c;还请指出&#xff0c;引用请标明出处。 原本有个对应表可以跳转的&#xff0c;但是CSDN的这个[](#)跳转好像不太一样&#xff0c;必须得用html标签&#xff0c;就懒得改了。 sosadmin help 用法 sosadm…...

【git】-初始git

学习资源推荐- 标签管理 - Git教程 - 廖雪峰的官方网站 一、什么是版本控制&#xff1f; 二、Git的安装 三、掌握Linux常用命令 四、Git基本操作 1、提交代码 2、查看历史提交 3、版本回退 一、什么是版本控制&#xff1f; 版本控制是一种用于记录文件或项目内容变化的系…...

JAVA之单例模式

单例模式&#xff08;Singleton Pattern&#xff09;是一种设计模式&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取该实例。在软件设计中&#xff0c;单例模式常用于控制对资源的访问&#xff0c;例如数据库连接、线程池等。以下是单例模式的详…...

无人机数据集,支持YOLO,COCO json,PASICAL VOC xml格式的标注,正确识别率可达到95.7%,10000张原始图片

无人机数据集&#xff0c;支持YOLO&#xff0c;COCO json&#xff0c;PASICAL VOC xml格式的标注&#xff0c;正确识别率可达到95.7%&#xff0c;10000张原始图片 下载地址&#xff1a; 标注好的数据集下载地址&#xff1a; yolo v11: https://download.csdn.net/download/p…...