UGUI 监听鼠标移入、移出

Unity-鼠标事件PointerEventData类 比如说每一个组件Button,Image,或者是其他的Text等等组件,当我们鼠标点击或者按下或者是移出都是属于事件。当我们挂载到Button的时候就检测鼠标是否对Button进行交互,同样的挂载到Text中就检测Text和鼠标的交互。IPointerMoveHandler:当鼠标在当前物体上移动。IPointerClickHandler:当鼠标点击。IPointerDownHandler:当鼠标按下。IPointerExitHandler:按鼠标移出。IPointerUpHandler:当鼠标抬起。 阅读详情

IPointerEnterHandler

该接口实现方法如下:

public void OnPointerEnter(PointerEventData eventData)
{
    //当鼠标光标移入该对象时触发
}
  • 1
  • 2
  • 3
  • 4

IPointerExitHandler

该接口实现方法如下:

public void OnPointerExit(PointerEventData eventData)
{
    //当鼠标光标移出该对象时触发
}
  • 1
  • 2
  • 3
  • 4

利用 IPointerEnterHandler 和 IPointerExitHandler 接口,当鼠标移动到GameObject与移开,显示文本

public class UIEvent : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler
{
    public PointerEvent onPointerEnter = new PointerEvent();
    public PointerEvent onPointerExit = new PointerEvent();

    public void OnPointerEnter(PointerEventData eventData)
    {
        if (onPointerEnter != null)
            onPointerEnter.Invoke(eventData);
    }

    public void OnPointerExit(PointerEventData eventData)
    {
        if (onPointerExit != null)
            onPointerExit.Invoke(eventData);
    }

    [Serializable]
    public class PointerEvent : UnityEvent<PointerEventData>
    {
        public PointerEvent() { }
    }

}
public class UILogComponent : MonoBehaviour
{
    public string displayContext = "";

    void Awake()
    {
        UIEventTrigger et = this.gameObject.AddComponent<UIEventTrigger>();
        et.onPointerEnter.AddListener(OnPointerEnterDisplayMode);
        et.onPointerExit.AddListener(OnPointerExitDisplayMode);
    }

    public void OnPointerEnterDisplayMode(UnityEngine.EventSystems.PointerEventData ed)
    {
        RectTransform rtT = ed.pointerCurrentRaycast.gameObject.GetComponent<RectTransform>();
        Vector3 pos = rtT.position;
        Vector2 size = rtT.sizeDelta;
        LogPanel.Instance.ShowTips(new Vector2(pos.x - size.x / 2, pos.y), displayContext);//在按钮的左侧出现
    }

    public void OnPointerExitDisplayMode(UnityEngine.EventSystems.PointerEventData ed)
    {
        LogPanel.Instance.ShowTips(false);
    }

}
public class LogPanel : MonoBehaviour
{
    public static LogPanel Instance;

    public GameObject goGroup;//当鼠标移动到此与移开时,显示文本
    public Text texTipsContext;//附属于goGroup


    //CustomGroup
    public Text texCustom;
    void Awake()
    {
        Instance = this;
    }

    public void ShowTips(Vector2 worldPos, string context)
    {
        texTipsContext.text = context;


        goGroup.GetComponent<RectTransform>().position = worldPos;

        ShowTips(true);
    }

    public void ShowTips(bool isShow)
    {
        goGroup.SetActive(isShow);
    }

}





UGUI中使用代码动态绑定触发事件 前言:UGUI系统中官方提供了一种Button控件,Button封装了官方提供的一套OnClick事件,如果该GameObject还需要支持按下,移入,移出等事件呢?这时候我们就需要添加EventTrigger组件。如果我们要给一个文本或是一张图片,添加鼠标响应事件,通过EventTrigger组件就变得易如反掌。今天我们实现的是动态添加EventTrigger组件并且动态添加触发事件。 运 阅读详情

相关推荐

Unity UGUI中实现UILineRenderer精确点击检测与交互事件处理

在Unity UGUI开发中,UI事件系统通过射线检测机制实现交互功能,其核心原理依赖于ICanvasRaycastFilter接口的IsRaycastLocationValid方法。该接口定义了图形元素响应点击事件的判断逻辑,对于标准矩形UI元素,Unity提供了默认的矩形边界检测实现。然而,当处理不规则形状如线段、曲线时,默认检测机制无法满足精确交互需求,这直接影响UI组件的技术价值与应用场景。Unity UI Extensions中的UILineRenderer组件虽能完美绘制Canvas线段,但缺乏

weixin_30443075的博客 417

IPointerEnterHandler->OnPointerEnter的使用要点

OnPointerEnter的使用要点

Marccco的博客 1743

Unity-UI-按钮 按钮响应动画的尝试

UI按钮的多种响应方式 1. 效果描述 假设一个UI的多个按钮需要支持三种操作方式: 鼠标操作 键盘方向键操作 移动端触摸操作 其中鼠标操作与键盘方向键操作时,会有一个选中的按钮变色的效果。 当使用键盘选中about按钮或者光标落在上面时,颜色变浅。 该效果实现的难点主要在鼠标与键盘两种操作方式上,移动端的触摸输入使用普通的按钮响应函数即可 2. 键盘方向键操作 在该操作模式下,会默认选中第一个Start Game按钮并使其变色,按上下键可以变更选中的按钮。 想要实现这种效果,我想到了使用双向循环链表

买烤麸烤饼儿的博客 2133

OnPointerEnter或OnPointerExit无法触发的一种情况。

在检查了所有可能导致无法触发的情况后,如果还是无法触发。可以尝试下将触发UI所在的Canvas的Canvas组件的RenderMode的属性选择为WorldSpace。

zhannghong2002的博客 1533

Unity 视频播放器,基于VideoPlayer,实现滑动进度条,显示视频时长,全屏显示,音量调节

unity播放视频的方式有很多种,但即轻量又好用的,还是unity自带的VideoPlayer,但没有视频基础操作的UI组件,本篇带大家对视频的播放,以及UI组件的实现Unity常用视频格式:mov、mpg、mpeg、mp4、avi、asf1、Hierarchy中新建VideoPlayer组件2、Hierarchy中创建RAWImage3、在Assets中新建RenderTexture纹理4、设置好视频的分辨率5、将建好的纹理拖到第2步中新建的RawImage上。

qq_33161296的博客 9478

Unity跨平台透明悬浮窗开发指南:原理、实现与优化

桌面悬浮应用是一种始终置顶、背景透明、可任意拖拽的窗口程序,旨在解决用户在多任务场景下频繁切换窗口的效率痛点。其核心原理是通过调用操作系统原生API,控制窗口的视觉属性和层级关系,实现像素级透明度与背景混合。在技术实现上,开发者需要深入理解不同平台(如Windows的DWM API、macOS的AppKit、Linux的X11/Wayland)的窗口管理机制。这类技术的工程价值在于能够创建不干扰主工作流的辅助工具,如游戏内数据监控、实时信息看板或效率小部件。Unity引擎凭借其强大的图形渲染能力和跨平台特性

weixin_30580341的博客 317

Unity UI 常用方法基本知识点

(持续更新) 一、如何检测鼠标进入UI,或者检测鼠标进入指定UI? 在命名空间 using UnityEngine.EventSystems;当中,实现接口 IPointerEnterHandler 和 IPointerExitHandler, 其中OnPointerEnter是鼠标进入UI后调用,OnPointerExit是鼠标离开UI后调用 ...

m0_38143858的博客 2529

Unity内嵌浏览器开发指南:从选型到双向通信的完整实践

内嵌浏览器技术是现代应用开发中实现混合内容呈现的关键组件,其核心原理是在原生应用环境中嵌入一个完整的浏览器渲染引擎,实现对HTML5、CSS和JavaScript内容的无缝渲染。这项技术的核心价值在于打破了原生应用与Web内容之间的壁垒,允许开发者在不牺牲原生性能的前提下,直接利用Web生态的丰富资源和动态更新能力。在工程实践中,内嵌浏览器常用于数字孪生、产品三维展示、在线教育等需要融合3D与2D交互的场景,以及游戏内社区、实时数据仪表盘等动态内容展示需求。通过稳定的双向通信机制,Unity C#逻辑与网页

weixin_33912638的博客 371

【Unity3D UGUI】事件接口(一) 鼠标移入、移出

Unity3D UGUI 事件接口系列之 IPointerEnterHandler 接口与IPointerExitHandler 接口。

Eazey丶亦泽 3万+

腾讯Octop:Windows本地AI助手一键安装实战指南

本地AI助手是面向普通用户在个人设备上运行大语言模型的轻量级解决方案,其核心原理在于封装模型加载、推理调度与Web交互等底层复杂性,通过预编译运行时、自适应硬件加速和图形化配置降低使用门槛。技术价值体现在免环境依赖、离线可用、开箱即用,显著提升非开发者在专利撰写、文案生成、技术文档处理等办公场景中的生产力。本文聚焦Windows平台下的腾讯Octop工具,结合qwen2-7b-instruct、phi-3-mini等主流GGUF量化模型,详解安装适配、API集成与专利辅助工作流,覆盖从零部署到工程落地的完整

weixin_29055137的博客 307

TI官方PSpice for TI安装避坑指南:从申请Key到解决器件搜索栏空白(附详细步骤)

本文详细介绍了PSpice for TI的安装与配置全流程,包括申请Key、解决器件搜索栏空白等常见问题。通过分步指南和实战避坑技巧,帮助工程师高效完成安装并优化性能,确保电路仿真工具的正常使用。

weixin_29299807的博客 1089

Unity UGUI 中 EventTrigger 导致 ScrollRect 鼠标滚轮失效的问题分析与解决

ScrollRect鼠标滚轮失效时,不一定是ScrollRect配置错误。ScrollRect是否启用了Vertical或Horizontal。Content和Viewport是否正确绑定。鼠标所在的子 UI 是否有、自定义事件脚本、嵌套ScrollRect。子 UI 是否通过成为了事件命中的对象。滚轮事件是否被子节点截断,导致父级ScrollRect收不到。EventTrigger 很方便,但它是一个“通用事件接收器”。如果只需要某一两个事件,最好写专门的小脚本实现对应接口。

qq_64875189的博客 524

PHP版本对接支付宝支付接口 电脑网站 详细介绍 沙箱环境 超简单易懂

PHP版本对接支付宝支付接口 其实理顺了思路后,按照我接下来的步骤来,真的超级简单啊,为啥有那么多的朋友们折腾了那么久呢,嘿嘿,跟我走吧~ 我是昨天晚上洗完澡之后,大概八九点,才开始正式开工尝试去这一工程的,我去支付宝的蚂蚁金服开放平台里把各个知识点和文档大概都看了一遍,大致弄明白了要怎么操作了,建议大家看看电脑网站开发文档,忙到了夜里十二点左右,成功地用支付宝给的Demo完成了付款操...

爱玲姐姐的博客 1万+

Crystal‘s Unity Notes:UGUI

UGUI

Crystal_can的博客 530

PX4笔记系列(二)vtol_att_control中的tiltrotor解析

update_vtol_state() 注释:采用两段切换的简单逻辑来进行过渡 当切换过渡开关后,飞机将会开始倾转动力,逐渐加速,当飞机获得足够速度后动力将会完全打到向前的位置。对于过渡返回阶段动力则是简单地倾转回来。 如果(不在向前过渡指令下): 当前vtol飞行模式: 1、旋翼模式 无操作 2、固定翼模式 令vtol飞行模式切换到过渡返回模式 3、P1过渡模式 进入过渡失败安全返回至旋翼模式 4、P2过渡模式 进入过渡失败安全返回至旋翼模式 5、过渡返回模式 记录过渡返回时间=当前时间-过渡开始

hypersonicss的博客 1880

RK3588上rknn_toolkit_lite2报错解决:手把手教你更新librknnrt.so的正确姿势

本文针对在RK3588平台上使用rknn_toolkit_lite2时遇到的“Invalid RKNN model version”等常见错误,提供了完整的诊断与解决方案。文章深入剖析了RKNN生态系统各组件(如librknnrt.so、RKNN Server)版本不兼容的根源,并手把手指导如何安全、正确地更新librknnrt.so运行时库,确保AI模型在RK3588 NPU上实现高效推理。

weixin_29189003的博客 521

Unity UGUI 文本 特殊文字添加事件

最终效果: 这是显示的文本 鼠标移上事件文字 “百鬼夜行” 后,控制台打印: 鼠标点击事件文字 “百鬼夜行” 后,控制台打印: 鼠标移出事件文字 “百鬼夜行” 后,控制台打印: (一)主脚本:mTextPro.cs;调用脚本内的SetText()函数传参数就可以了。使用方法见步骤(二) using System.Collections.Generic; using System.Text; using System.Text.RegularExpressions; using UnityEngine

a0_67的博客 3368

基于Multisim设计电子密码锁

一、设计任务与要求:(可软件仿真实现)1)基本要求:设计一个数字密码锁,要求只有按正确的顺序,输入正确的密码,方能输出开锁信号,实现开锁。设置三个正确的密码键和若干个伪键,任何伪键按下后,密码锁都无法打开。每次只能接受四次按键信号,而且第四个键只能是“确定”或者“重输键”,其他无效。能显示已输入键的个数2)扩展要求:第一次密码输错后,可以输入第二次,但是连续三次输错,密码将被锁,必须按复位键才能解锁。

ablinger的博客 4418

告别UGUI手搓事件!用DoozyUI的UIButton组件5分钟搞定按钮全交互(含动画与音效配置)

本文介绍了如何使用DoozyUI的UIButton组件在Unity中快速实现按钮全交互功能,包括动画与音效配置。相比传统UGUI需要手动编写事件监听代码,UIButton通过可视化配置大幅提升开发效率,5分钟即可完成复杂交互效果,适用于游戏和应用程序开发。

weixin_30813225的博客 487

igh ethercat 实时性测试

组备注std(us)max(us)a无锁核,无rt补丁8.38108b锁核+FIFO调度+内存锁定,无rt补丁0.9216c锁核+FIFO调度+内存锁定,+rt补丁0.9922可以看到 a组 使用ethercat不做其他优化,周期抖动非常大,且max能达到 100 多 us;通过 锁核+FIFO调度+内存锁定 进行优化,可以看到 抖动明显降低,且max 为 20 us 左右;

qq_43353632的博客 2310

GPS天线结构、原理、测试

【有源陶瓷天线构成】GPS天线是由接收天线和前置放大器两个部件组成。GPS接收天线的作用,是将卫星来的无线电信号的电磁波能量变换成接收机电子器件可摄取应用的电流。绝大部分内置GPS天线为右旋极化陶瓷介质,其组成部分为:陶瓷天线、低噪音信号模块、线缆、[接头](h

数字世界 万物互联 2万+

Unity UGUI按钮高亮卡死问题:六大原因与系统性解决方案

在Unity游戏开发中,UGUI(Unity图形用户界面)是构建交互界面的核心模块,其底层基于状态机原理管理UI元素的视觉反馈。理解状态机的工作机制对于解决UI交互问题至关重要,它直接关系到用户体验的流畅性与专业性。本文聚焦于UGUI Button组件常见的“高亮状态卡死”问题,从事件系统与射线检测机制切入,深入剖析了导致状态流转异常的六大常见原因,包括过渡参数配置、射线遮挡、脚本冲突等。通过结合【Color Tint】过渡模式与【Raycast Target】属性等关键热词的解析,提供了从参数检查到代码调

weixin_33881140的博客 359

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Unity 每天一个小知识 2 之 EventSystem

Unity UI交互的神经中枢EventSystem

Noanna_ic的博客 1128

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Doozy记录

一、Doozy界面 二、功能模块 2.1 UI 2.1.1 UIButton 你可以把他想象为UGUI Button的拓展。 因为它是基于Button,且这个组件有大量原本需要我们手动实现的事件: 鼠标移入、移出、长按、右键按下、双击、选中状态、取消选中状态。。。(这统称为“行为”) 并且剧透一下,UIButton里面每个上述行为下,还有对应的动画库!意味着我们手动点点,就能让这个按钮移入时变大,移出恢复常态,点击时... 还有UIButton每个行为下都有一个UIAction事件...

curry丶的博客 1291

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

JS鼠标事件

鼠标事件的类型 onclick:单击事件 ondblclick:双击 oncontextmenu:右键菜单 onmouseover:鼠标移入 onmouseout:鼠标移出 onmouseenter:鼠标移入 onmouseleave:鼠标移出 onmousedown:鼠标按下 onmouseup:鼠标抬起 onmousemove:鼠标移动

weixin_63381305的博客 387

关于IPointerEnterHandler和IpointerExitHandler的简单说明

自己在学习UGUI背包系统时用到了,而且遇到一些问题,所以在这里写一下这两个接口的简单说明。 继承IPointerEnterHandler和IpointerExitHandler这两个接口后可以实现两个方法。Void OnPointerEnter(PointerEventData eventData);和VoidOnPointerExit(PointerEventData eventData)...

weixin_30615767的博客 3965
上一篇: C# using关键字
下一篇: 单例模式(Singleton Pattern)【创建型】__MonoSingleton,及 相关应用(TimerManager)
Le_Sam
博客等级 码龄11年 342粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值