论组件enable属性的妙处——unity

本文探讨了在Unity中如何控制GameObject的可见性,并保持其坐标和其他属性不变。通过使用enabled属性而非SetActive方法,可以在隐藏GameObject的同时保留对其组件和属性的访问。这在需要GameObject在视觉上消失但仍能进行交互的场景中非常有用。

之前写过enable不可取,是因为当时需要把gameObject直接消除(并非销毁):http://blog.youkuaiyun.com/anzhongliu/article/details/72827556。

如果按照之前的setactive方法来做,则会出现获取不了gameObject的坐标或其他属性,于是想起enable只是让gameObject不可见,并且可以获取gameObject的其他组件和属性。于是采用了enable;

现在只让gameObject不可见,同时获取gameObject的坐标,所以不能消除和销毁;如下:

if(disappear){
                       StartCoroutine(DelayToInvoke.DelayToInvokeDo01(() =>
                     {
                     XingxingMenU.GetComponent<Image>().enabled=true;
                     XingxingMenU.GetComponent<UIMenu_move>().TransformImage ();
                      disappear=false;
                   },() =>{
                        XingxingMenU.GetComponent<Image>().enabled=false;
                	      disappear=true;
                         XingxingMenU.GetComponent<RectTransform>().anchoredPosition=pos; 
                   }, 
                   8.0f));
                      }

总结:过去认为不好的使用方法可能在新环境下适用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值