NGUI——2个UI叠在一起如何判断手指点击哪个UI

本文介绍了一种使用射线检测方法解决NGUI中多个UI重叠时,判断手指点击到哪个UI的问题。通过`ScreenPointToRay`获取射线,并使用`Physics.RaycastAll`检测所有碰撞的GameObject,比较它们组件上的速度属性来决定响应哪个UI。
摘要由CSDN通过智能技术生成

“`
Ray ray;
//重叠检测的方法
//通过射线来判断,初学者一定要确定UI上面有BoxCollider
public void OverlayCheck()
{
Vector3 pos = Input.mousePosition;
//uiCamera这个是NGUI摄像机,(GameMainXL这个是我自己的类 我NGUI定义在这个类里面了,你们可以直接 ray=uiCamera.ScreenPointToRay(pos))
ray=GameMainXL.uiCamera.ScreenPointToRay(pos);
//检索 所有射线碰到的GameObject
RaycastHit[] hits = Physics.RaycastAll(ray, Mathf.Infinity);
if (hits.Length > 1) {
for (int i = 0; i < hits.Length; i++) {
go [i] = hits [i].collider .gameObject;
//输出叠加的个数
print (i);
}
if (go [1].GetComponent ().speed > go [0].GetComponent ().speed) {
print (go [1].GetComponent ().speed);
print (go [0].GetComponent ().speed);
if (go [1].GetComponent ().speed >=speed) {

                    go[1].transform.localPosition=Vector3.Ler
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值