Unity中uGUI的控件事件穿透逻辑

1、正常来说Image和Text是会拦截点击事件的,如果添加EventTrigger的话,就可以响应对应的交互事件。

2、如果Image和Text是一个Button的子控件,那么虽然其会显示在Button上面,但是并不会拦截点击事件。除非是Selectable的,否则子控件不会影响到父控件的点击。

3、如果是跨Panel或者是同级的Image和Text,是会拦截点击事件的,即如果Image在某个Button之上,那么点击Image的事件不会穿透给Button。

4、如果在3的情况下想忽略点击事件的话,可以给Image添加一个CanvasGroup组件,并且设置其BlockRaycast为false。则此时Image和Text会完全忽略点击事件。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-05 20:41:33

Unity中uGUI的控件事件穿透逻辑的相关文章

复合控件中 公开子控件事件

public class UserControl1 : UserControl { // private Button saveButton; public event EventHandler SaveButtonClick { add { saveButton.Click += value; } remove { saveButton.Click -= value; } } }

使用Devexpress中的CharControl控件,需要控制AxisY轴的显示范围,需要使用该控件的BoundDataChanged事件

一.控制ChartControl的Y轴范围 使用Devexpress中的CharControl控件,需要控制AxisY轴的显示范围,需要使用该控件的BoundDataChanged事件,具体代码如下: 该代码实现的效果如下: 参考文献: [1]AxisY Range Auto https://www.devexpress.com/Support/Center/Question/Details/Q266328 二.设置GridControl表格中的超级链接: 1.首先在表格的设计器中添加一个Hyp

.net控件事件中的Sender

private void button2_Click(object sender, RoutedEventArgs e) { } 最近看WPF内容,回顾下.net大家天天都在用,却不是十分关注的一个对象----sender 问:sender到底是什么呢? 答:所有的服务器控件中事件都会有(可能说的太绝对,应该说大多会吧),sender指的是触发事件的控件. private void button2_Click(object sender, RoutedEventArgs e) { Button

ASP.NET中多个控件共享同一事件,sender的使用

当多个控件共享同一事件时,同时还需要在事件中区分到底是点击了那个控件时,就需要通过控件事件中的sender参数.方法是在事件中定义该控件的变量,如RadioButton控件的公共事件就定义 RadioButton radBtn = (RadioButton)sender; 这样就可以通过定义的控件变量去区分是那个控件触发了事件.如radBtn.ID就可以取到触发事件控件的ID属性.

DataGridView中内置控件常用事件使用心得

checkbox,button,imagebutton使用dataGridView1_CellContentClick private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { tb.Text+=string.Format("\r\n{0},Row:{1},Column:{2}","单元格内容单击!",e.RowIndex,e.ColumnInd

Semantic UI中的验证控件的事件的使用

1.Semantic UI中的验证控件,功能挺不错的,中文官网的文档写的都比较详细了,我再这里就不再进行重复了,主要是想说一下它的事件的使用方法,这个可能有部分朋友刚开始接触的时候不太了解 注意看这几个事件:前两个是对于字段验证通过和失败之后的事件的调用,后两个是对整个form是否都验证通过或者失败时调用的事件,于是我们在调用的时候可以这么写 function login() { $(".ui.form").form( { username: { identifier: 'userNa

C#控件事件属性大全

C#控件及常用设计整 1.窗体... 1 2.Label 控件... 3 3.TextBox 控件... 4 4.RichTextBox控件... 5 5.NumericUpDown 控件... 7 6.Button 控件... 7 7.GroupBox 控件... 7 8.RadioButton控件... 8 9.CheckBox 控件... 8 10.ListBox 控件... 9 11.ComboBox 控件... 10 12.CheckedListBox 控件... 10 13.Pict

WPF 控件事件的一个小坑…

最近想判断一下 Slider 是由鼠标点击而改变值,还是由程序内部代码改变的值,发现鼠标的各种事件比如 MouseDown.MouseUp.MouseLeftButtonDown 什么的,都没有任何反应,很是无奈- 搜索了一下,发现 WPF 中的有些控件,会将一些事件自己给 Handled,导致我们之间添加事件无效... 不过可以通过在父元素上调用 AddHandler 方法,来为子元素添加事件. 这个方法有两个重载,这里最主要的是要用到这个重载的参数: public void AddHandl

FineReport——JS监听其他控件事件

首先在参数面板和报表中分布添加一个button,用于被监听: 参数面板 控件名:temp: temp点击事件:alert("temp"); 报表 控件名:exprt: temp点击事件:alert("exprt"); 再次在参数面板和报表中添加一个按钮,可不命名: 在参数面板的按钮控件的点击事件中添加如下代码: this.options.form.getWidgetByName("temp").fireEvent('click'); //参数面板