请问Unity鼠标点击变色再次点击颜色取消后如何获得当前所点击到的UI名字?

NGUI中对于UI后面场景中的物体的鼠标點击变色再次点击颜色取消事件的屏蔽处理

:NGUI中的UI展示信息和场景中展示的物体信息是使用的两个相机进行渲染但是对于同一个屏幕位置进行鼠标点击变色再次点击颜色取消事件时,UI和场景物体会同时都进行触发

:很简单在UI展示的位置添加一个透明的panel进行遮挡


场景中就囿一个cube和NGUI画的两个Label和一个sprite,其中cube上有一个鼠标点击变色再次点击颜色取消的接收事件

1、没有遮挡的panel之前如下使用鼠标点击变色再次点击顏色取消UI和cube重合的部位cube上的鼠标事件也会触发

图片插的不对,具体的看附件一

2、添加遮挡的panel后如下,可以看到有和UI在屏幕上显示一样大的panel在cube嘚前面遮挡

再点击重合部位的时候就不会触发cube上的事件啦

图片插的不对,具体的看附件二

1、修改panel上的shader为透明效果。下面给出一个参考可以实现透明效果,但是shader不一定就比较合理仅供实验参考,如果哪位朋友感觉有什么不合理的希望多多指出

2、相机会移动,修改遮擋为摄像机的子物体


3、相机视角变动需要重新检测并生成或者修改遮挡的panel
4、必须保证所有的物体都在遮挡的的panel后面,修改为尽量和相机嘚最近的视野范围比较接近的地方
PS:可能还有不合理的地方欢迎广大码农多多拍砖

我要回帖

更多关于 鼠标点击变色再次点击颜色取消 的文章

 

随机推荐