[unity 点击事件] 区域响应点击事件,排除子节点区域,Raycast Target 应用

server/2025/3/28 16:42:29/

当我打开一个二级弹窗后,希望可以通过点击弹窗以外的区域来关闭该弹窗。一开始我是在弹窗主节点上挂载了一个 button 组件,该 button 注册的点击事件中关闭该弹窗。在子节点(一个背景图)的image组件上启用 Raycast Target 选项,希望拦截点击事件,使得该背景图区域不会触发关闭按钮的事件。但是实际表现上,在该区域仍然可以触发主节点上的 button 点击事件。
在这里插入图片描述
查了各种资料,加上各种尝试,发现了两种解决办法。
第一种方案,是主节点不用 button 来响应关闭事件,而是继承 IPointerClickHandler,重写 OnPointerClick 方法来响应点击事件,在响应函数中检查点击区域是否在子节点区域外,在区域外才执行关闭逻辑。这种方法可行,但是不优雅。
在这里插入图片描述
在这里插入图片描述
第二种方案,是将 button 挂载到子节点同层级的 object 上,而不是直接放在主节点上。通过尝试,发现取消 Raycast Target 选项时,点击 imgBg 时会穿透使得 bgMask 上的 button 响应。勾上 Raycast Target 选项后,不再穿透。从这里可以看出,Raycast Target 选项对于同级对象,只有最上层对象会响应点击,但是为了让点击事件能传递下去,该选项不会阻止下层节点的响应。
在这里插入图片描述
在这里插入图片描述
参考链接:

  • UI点击穿透组件

http://www.ppmy.cn/server/178969.html

相关文章

HarmonyOS NEXT 实现拖动卡片背景模糊效果

大家好,我是 V 哥。 最近看到在 HarmonyOS NEXT开发中,实现拖动卡片背景模糊的案例效果,在拖动时背景图片模糊,松开后恢复正常。感觉很酷,写一个案例玩一下。 需求分析 首先,咱们来一起分析一下这个效果要…

[C++面试] 你了解transform吗?

层级核心知识点入门基本语法、与for_each对比、单/双范围操作进阶动态扩展、原地转换、类型兼容性、异常安全高阶性能优化、C20 Ranges、transform_if模拟 一、入门 1、描述std::transform的基本功能&#xff0c;并写出两种版本的函数原型 std::transform函数是 C 标准库<…

当科技业成为系统性压榨的绞肉机

深夜的硅谷办公室依然灯火通明&#xff0c;键盘敲击声此起彼伏。一位程序员在Slack上收到主管的紧急需求&#xff1a;“这个功能明早必须上线。”他苦笑一声&#xff0c;关掉手机里名为“缓解焦虑”的冥想App——这已是本周第三次被迫服用公司提供的“心灵解药”。此刻&#xf…

CI/CD(五) 安装helm

一、安装 Helm 客户端 方法 1&#xff1a;通过脚本自动安装&#xff08;推荐&#xff09; curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 chmod 700 get_helm.sh ./get_helm.sh说明&#xff1a;此脚本会自动下载最新 Helm…

【蓝桥杯速成】| 11.回溯 之 子集问题

题目一&#xff1a;子集 问题描述 78. 子集 - 力扣&#xff08;LeetCode&#xff09; 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例…

【PCB工艺】基础:电子元器件

电子原理图&#xff08;Schematic Diagram&#xff09;是电路设计的基础&#xff0c;理解电子元器件和集成电路&#xff08;IC&#xff09;的作用&#xff0c;是画好原理图的关键。 本专栏将系统讲解 电子元器件分类、常见 IC、电路设计技巧&#xff0c;帮助你快速掌握电子电路…

Qt开发:QFileDialog的使用

文章目录 QFileDialog的介绍QFileDialog的常用静态方法 QFileDialog的介绍 QFileDialog 是 Qt 框架中提供的一个用于文件选择的标准对话框类&#xff0c;它允许用户在应用程序中选择文件或目录。它是跨平台的&#xff0c;在不同操作系统上会自动适配本地风格的文件对话框。 Q…

Mysql从入门到精通day3————记一次连接查询的武装渗透

一.内连接查询 概念&#xff1a;内连接是最普遍的连接类型&#xff0c;要求构成连接每一部分的每个表都匹配&#xff0c;不匹配的行将被排除 分类&#xff1a;内连接包括相等连接和自然连接&#xff0c;相等连接最为常见&#xff0c;就是使用等号运算符根据每个表共有列的值匹配…