Cavans Group 详解

首先来看看Canvas Group这个组件样子:
这里写图片描述
如图所示,这个组件拥有4个属性:
1.Alpha,这是一个很常见的属性,很多组件上面都有,作用都相同,就是控制所在对象或子级对象的透明度,从而可以实现一些渐隐渐现的效果。

一般如上图所示类似的组件其值为0~1;
其一般情况下会对所在对象本身及子级对象都产生影响,所以Canvas Group组件的这个属性可以用来控制整个UI界面的透明度,实现整体的渐隐渐现效果。子级不受影响的情况后面再说明。

在我们设置如Image组件(或Text组件)上图片的颜色时,会由4个值共同控制,RGBA,其中这个A就是代表的Alpha透明度,这时候其值范围是0~255,这个相信都很熟悉啦!
Image组件上设置图片的Alpha值,可以控制其本身所在对象的透明度,如让一张图片实现渐隐渐现效果,注意这里是本身所在的对象哦,这个时候可不会对子级对象的透明度产生影响。

2.Interactable,这个单词翻译过来就是相互作用的意思,官方原本的解释是:确定该组件是否会接受输入。当它被设置为false时,交互被禁用;
举例说明,创建一个Canvas,在其下面创建一个Button,给这个按钮组件添加一个Canvas Group组件,然后再在这个Button下面创建一个Button,同样也给加上Canvas Group组件,将这两个按钮的位置分开一点并设置他们不同状态下的颜色,便于观察,我们分别叫他们父级按钮和子级按钮。
当我们设置父级按钮 Canvas Group组件下的Interactable为FALSE时,会发现其本身和子级按钮都变成了禁用状态,也就是都失去了交互作用,不会响应点击事件了。我们可以利用这一点设置界面变灰色。
由此可以看出这个属性的具体功能了,并且还会影响子级对象(当然这也是一般情况)。

扩展一下,我们不管Canvas Group组件的Interactable了,来看看Button组件自己本身的Interactable属性会不会对子级产生影响,设置子级按钮Button组件的Interactable为true,设置父级按钮组件的Interactable为false,试验过后我们发现子级按钮还是可以点击,说明Button组件的Interactabl属性只会影响自己本身所在的对象的交互作用,而不会对子级产生影响。这里对比一下Canvas Group组件的Interactabl属性就可以看出差别了。

3.Blocks Raycasts,翻译过来的意思是阻止射线投射,也就是当你设置其为true并点击时,他会阻止你点击产生的射线,从而检测到你的操作并作出响应。当你设置其为false时,这个组件所在的对象就不会遮挡射线的投射了,从而会穿透。
一般情况下,他也会影响子级对象是否会阻止射线投射。

4.Ignore Parent Groups,字面意思翻译过来是忽略父组的意思,上面我们举例说明了各种的一般情况,就是父级的Canvas Group属性设置会对子级产生影响,现在终于能知道不一般的情况了,没错就是和现在要介绍的这个属性有关系。
字面意思已经说了,就是忽略父级关于Canvas Group属性的设置,咱要使用自己的设置,例如,当你勾选了这个属性后,无论你父级的Alpha、Interactable、Blocks Raycasts如何设置,都不会影响自己的设置,这时你影藏父级自己却不会,你关闭了父级的相互交互但不会影响自己,你关闭父级的阻止射线投射但不会影响自己的。
那么这个父级包不包括爷爷级呢?经过试验发现这个是忽略不了爷爷级及以上层次的Canvas Group属性设置的。

需要注意的是,Canvas Group组件的前三个属性设置是不会相互影响的,各管各的。

最后希望有不对的或者有所缺失的能有大神指点指点!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值