Unity 中消息提醒框
Tooltip 用于ui布局
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
using UnityEngine.UI;[ExecuteInEditMode()] // 可以在编辑模式下运行public class Tooltip : MonoBehaviour
{public TMP_Text header; // 头部文本public TMP_Text content; // 内容文本public Image image; // 图片public LayoutElement layoutElement; // 布局元素,用于控制大小public int characterWrapLinmit; // 字符换行限制public RectTransform rectTransform; // RectTransform// 控制大小和位置public void ControlSizeAndPosition(){int headerLength = header.text.Length; // 头部文本长度int contentLength = content.text.Length; // 内容文本长度// 如果文本超过设定的换行限制,则启用布局元素layoutElement.enabled = (characterWrapLinmit < headerLength || characterWrapLinmit < contentLength) ? true : false;Vector2 position = Input.mousePosition; // 获取鼠标位置transform.position = position; // 设置提示框位置// 计算提示框的中心点相对于屏幕的位置float pivotX = position.x / Screen.width;float pivotY = position.y / Screen.height;rectTransform.pivot = new Vector2(pivotX, pivotY); // 设置提示框的中心点}
}
ToolTipCanvas 做成单列模式方便其他类调用
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Singleton<T> : MonoBehaviour where T : Component
{public static T instance { get; private set; }protected virtual void Awake(){if(instance == null){// as 强制转换类型instance=this as T;}else{Destroy(instance);}}}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class ToolTipCanvas : Singleton<ToolTipCanvas>
{public Canvas canvas;public Tooltip toolTip;public void Show(string content, string header=null,Sprite sprite=null){canvas.enabled = true;toolTip.content.gameObject.SetActive(true);toolTip.content.text=content;if(header!=null){toolTip.header.gameObject.SetActive(true);toolTip.header.text=header; }else{toolTip.header.gameObject.SetActive(false);}if(sprite!=null){toolTip.image.gameObject.SetActive(true);toolTip.image.sprite=sprite;}else{toolTip.image.gameObject.SetActive(false);}toolTip.ControlSizeAndPosition();}public void Hide(){canvas.enabled = false;}}
TooltipTriggter 放在ui物体上
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;public class TooltipTriggter : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{public string header;public string content;public Sprite icon;public float stayTime;//鼠标停留多久时间,显示消息private bool isHovering = false;Coroutine hoverRoutineCoroutine;public void OnPointerEnter(PointerEventData eventData){if(hoverRoutineCoroutine != null){hoverRoutineCoroutine= StartCoroutine(HoverRoutineCoroutine());}else{StopAllCoroutines();hoverRoutineCoroutine= StartCoroutine(HoverRoutineCoroutine());}}public void OnPointerExit(PointerEventData eventData){StopAllCoroutines();ToolTipCanvas.instance.Hide();}private void OnDisable(){StopAllCoroutines();ToolTipCanvas.instance.Hide();}private IEnumerator HoverRoutineCoroutine(){isHovering = true;yield return new WaitForSeconds(stayTime); if (isHovering){ToolTipCanvas.instance.Show(content, header,icon);}}
}



相关文章:
Unity 中消息提醒框
Tooltip 用于ui布局 using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; using UnityEngine.UI;[ExecuteInEditMode()] // 可以在编辑模式下运行public class Tooltip : MonoBehaviour {public TMP_Text header; // 头部文本publi…...
好数(蓝桥杯)
文章目录 好数题目描述暴力方法一暴力方法二(超时) 好数 题目描述 【问题描述】 一个整数如果按从低位到高位的顺序,奇数位(个位、百位、万位 )上的数字是奇数,偶数位(十位、千位、十万位 …...
自动化收集Unity版本更新日志
自动化收集Unity版本更新日志 🍥功能介绍🥪食用手册填写配置开始搜集 🍨数据展示 🍥功能介绍 💡获取指定年份中所有的Unity版本更新日志。 💡根据指定字符串过滤。 💡.收集后自动保存成markdow…...
【CSS】CSS水平居中方案
CSS水平居中方案 1. 行内元素水平居中 设置父元素的text-align:center .box {width: 300px;height: 300px;margin: 100px auto;text-align: center;background-color: pink; }2. 块级元素水平居中 当块级元素设置了明确的宽度数值时,可以使用margin: 0 auto 3.…...
SQL注入sqli_labs靶场第二题
解题思路与第一题相同 ?id1 and 11 和?id1 and 12进行测试如果11页面显示正常和原页面一样,并且12页面报错或者页面部分数据显示不正常,那么可以确定此处为数字型注入。 联合查询: 猜解列名数量:3 ?id1 order by 4 判断回显…...
基于机器学习的人脸发型推荐算法研究与应用实现
1.摘要 本文主要研究内容是开发一种发型推荐系统,旨在识别用户的面部形状,并根据此形状推荐最适合的发型。首先,收集具有各种面部形状的用户照片,并标记它们的脸型,如长形、圆形、椭圆形、心形或方形。接着构建一个面部…...
【服务器部署篇】Linux下Nginx的安装和配置
作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是,产…...
React搭建一个文章后台管理系统
1、项目准备 本篇文章讲解的是一个简单的文章后台管理系统,系统的功能很简单,如下:登录、退出;首页;内容(文章)管理:文章列表、发布文章、修改文章。 1)React官方脚手架:create-rea…...
Elasticsearch 支持的插件 —— 筑梦之路
Analysis 插件: 1、IK Analyzer:适用于中文分词的插件,提供了针对中文文本的分析器。 2、Smart Chinese Analysis:另一个中文分词插件,支持中文智能分词。 集群管理插件: 1、Kibana:Elasticsear…...
HTML:链接
目录 一、超链接 二、 外联元素 一、<a>超链接 <a> 标签用于定义超链接,超链接可以让用户从一个网页跳转到另一个网页。 常用属性: href指定链接的目标地址。download表示链接是一个下载链接,指定下载的文件名。target 指定在…...
vscode远程连接centos
文章目录 vacode连接linux1. 安装插件2. 查看配置3. 打开ssh4. 远程连接 vacode连接linux 1. 安装插件 在扩展栏搜索remote ,找到Remote Development插件,进行安装: 2. 查看配置 打开自己的linux终端,输入ifconfig,…...
scala---面向对象(类,对象,继承,抽象类,特质)
一、类(class)和 对象(object) 1、类 类就是对客观的一类事物的抽象。用一个class关键字来描述和Java一样,在这个类中可以拥有这一类事物的属性,行为等等。 2、为什么要有对象 在java中的一个class既可…...
【机器学习300问】68、随机初始化神经网络权重的好处?
一、固定的初始化神经网络权重可能带来的问题 在训练神经网络的时候,初始化权重如果全部设置为0或某个过大值/过小值。会导致一些问题: 对称权重问题:全为0的初始化权重会导致神经网络在前向传播时接收到的信号输入相同。每个神经网络节点中…...
数据结构与算法——20.B-树
这篇文章我们来讲解一下数据结构中非常重要的B-树。 目录 1.B树的相关介绍 1.1、B树的介绍 1.2、B树的特点 2.B树的节点类 3.小结 1.B树的相关介绍 1.1、B树的介绍 在介绍B树之前,我们回顾一下我们学的树。 首先是二叉树,这个不用多说ÿ…...
Tomcat源码解析——Tomcat的启动流程
一、启动脚本 当我们在服务启动Tomcat时,都是通过执行startup.sh脚本启动。 在Tomcat的启动脚本startup.sh中,最终会去执行catalina.sh脚本,传递的参数是start。 在catalina.sh脚本中,前面是环境判断和初始化参数,最终…...
蓝桥杯真题演练:2023B组c/c++
日期统计 小蓝现在有一个长度为 100 的数组,数组中的每个元素的值都在 0 到 9 的范围之内。 数组中的元素从左至右如下所示: 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3 …...
微信小程序实现预约生成二维码
业务需求:点击预约按钮即可生成二维码凭码入校参观~ 一.创建页面 如下是博主自己写的wxml: <swiper indicator-dots indicator-color"white" indicator-active-color"blue" autoplay interval"2000" circular > &…...
专业140+总分410+北京理工大学826信号处理导论考研经验北理工电子信息通信工程,真题,参考书,大纲。
今年考研专业课826信号处理导论(信号系统和数字信号处理)140,总分410,顺利上岸!回看去年将近一年的复习,还是记忆犹新,有不少经历想和大家分享,有得有失,希望可以对大家复…...
做一个后台项目的架构
后台架构的11个维度 架构1:团队协助基础工具链的选型和培训架构2:搭建微服务开发基础设施架构3:选择合适的RPC框架架构4:选择和搭建高可用的注册中心架构5:选择和搭建高可用的配置中心架构6:选择和搭建高性…...
嵌入式单片机 TTL电平、232电平、485电平的区别和联系
一、简介 TTL、232和485是常见的串口通信标准,它们在电平和通信方式上有所不同, ①一般情况下TTL电平应用于单片机外设,属于MCU/CPU等片外外设; ②232/485电平应用于产品整体对外的接口,一般是片外TTL串口转232/485…...
SEO_网站排名不上去?试试这几个SEO解决办法
SEO:网站排名不上去?试试这几个SEO解决办法 如果你发现自己的网站在百度上的排名一直不上去,你可能正面临着一场SEO战争。SEO,全称搜索引擎优化,是提高网站在搜索引擎结果中排名的关键技术。本文将为你详细探讨一些常见…...
【OpenClaw从入门到精通】第46篇:企业“养虾”合规手册——审批备案+专网隔离+全流程管控(2026企业版)
摘要:着OpenClaw在企业场景的广泛应用,合规风险与安全事件频发,启明星辰报告显示60%的安全事件源于缺乏规范管理。本文基于《OpenClaw类智能应用安全指引V0.1》及金融、能源行业头部企业实践,构建“审批-备案-部署-审计”全流程合规框架。核心内容包括四步审批备案流程、专…...
AWS Lambda性能调优终极指南:如何通过内存配置平衡成本与执行速度
AWS Lambda性能调优终极指南:如何通过内存配置平衡成本与执行速度 【免费下载链接】aws-lambda-power-tuning AWS Lambda Power Tuning is an open-source tool that can help you visualize and fine-tune the memory/power configuration of Lambda functions. It…...
Fast-Android-Networking请求优先级设置终极指南:提升应用性能的10个技巧
Fast-Android-Networking请求优先级设置终极指南:提升应用性能的10个技巧 【免费下载链接】Fast-Android-Networking 🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀 项目地址: https://gitcode.com/gh_mirr…...
Python-docx实战:如何用run对象精细控制Word文档样式(附完整代码示例)
Python-docx实战:用run对象精细控制Word文档样式的专业指南 在自动化办公和批量文档生成领域,Python-docx库已经成为处理Word文档的事实标准工具。对于需要生成合同、报告、发票等标准化文档的开发者而言,仅仅创建基础文本远远不够——精确控…...
Android定位模拟技术全解析:基于系统级Hook的位置伪造实现方案
Android定位模拟技术全解析:基于系统级Hook的位置伪造实现方案 【免费下载链接】FakeLocation Xposed module to mock locations per app. 项目地址: https://gitcode.com/gh_mirrors/fak/FakeLocation 在移动应用开发与测试过程中,精准控制定位信…...
Yuzu模拟器终极指南:7天学会如何选择最佳版本和优化性能 [特殊字符]
Yuzu模拟器终极指南:7天学会如何选择最佳版本和优化性能 🎮 【免费下载链接】yuzu-downloads 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu-downloads 还在为选择哪个Yuzu模拟器版本而头疼吗?😫 别担心&#x…...
iOS自动化安全与idb工具:构建安全可靠的测试环境
iOS自动化安全与idb工具:构建安全可靠的测试环境 【免费下载链接】idb idb is a flexible command line interface for automating iOS simulators and devices 项目地址: https://gitcode.com/gh_mirrors/idb/idb 在iOS自动化测试流程中,开发者常…...
番茄小说下载器:用Rust打造的全能离线阅读解决方案
番茄小说下载器:用Rust打造的全能离线阅读解决方案 【免费下载链接】Tomato-Novel-Downloader 番茄小说下载器不精简版 项目地址: https://gitcode.com/gh_mirrors/to/Tomato-Novel-Downloader 你是否曾经在地铁上看到精彩的小说章节却因网络信号不佳而中断&…...
OWL ADVENTURE优化升级:让你的视觉探索更流畅高效
OWL ADVENTURE优化升级:让你的视觉探索更流畅高效 1. 全新升级亮点概览 OWL ADVENTURE最新版本带来了多项性能优化和功能增强,让视觉探索体验更加流畅高效。这次升级不仅提升了核心AI引擎的处理能力,还对用户界面进行了多项改进,…...
