首页 > Unity3D频道 > 【UGUI研究院】 > UGUI研究院之判断鼠标或者手指是否点击在UI上(六)
2014
10-27

UGUI研究院之判断鼠标或者手指是否点击在UI上(六)

比如战斗场景,UI和3D场景同时都需要响应触摸事件,如果同时响应可能就会出现触摸UI的时候影响到了3D部分。为了解决这个问题在判断3D响应之前要先判断手指是否点击在UI上。 以前NGUI的时候都是自己来发送射线判断,现在UGUI好了系统提供了更为简便的方法。

 

这段代码我在Android上已经测试通过。 哦 我用的是unity5.1

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

UGUI研究院之判断鼠标或者手指是否点击在UI上(六)》有 64 条评论

  1. 雅各布 说:

    5.4版本,鼠标点击的时候,这个判断是有效的,但是不知道为啥鼠标抬起的时候这个判断却无效,有没有什么方式可以判断到抬起的时候是否在UI上面?

  2. 珍蜗蜗 说:

    MOMO大神,我用了上面的方法,点击3D物体,也会提示触摸在UI上。因为我的3D事件是在MainCamera上添加了个PhysicsRaycaster实现的,这种情况,3D的事件触发也是通过EventSystem,就没法区分是不是UI了吧?是不是要添加layer的判断?

  3. Ava 说:

    厉害了!谢谢!!

  4. 陆天 说:

    unity5.6运行没有问题。如果是要运行在手机上,将 IPHONE || ANDROID 替换为 UNITY_ANDROID || UNITY_IPHONE,接着再打包到手机上,是可以检测到UI的。

  5. 邓孟轩 说:

    5.5版本,编译通过!多个UI,判断是否点击在当前UI上。修改:#if UNITY_IPHONE || UNITY_ANDROID,如果不修改,判断代码无法通过。 UGUI研究院之判断鼠标或者手指是否点击在UI上(六) - 雨松MOMO程序研究院 - 1 UGUI研究院之判断鼠标或者手指是否点击在UI上(六) - 雨松MOMO程序研究院 - 2

  6. 陆宇杨 说:

    如果只是要判断“当前”image是否点击可以用IPointerDownHandler,普通ui好用了吧public class JoystickUI : MonoBehaviour, IPointerDownHandler,IPointerClickHandler{作为一个普通程序员,在update里面写太多东西,会后怕,不是不可以写,网上例子都是这么写的,但是真的前提是你要写对,和无数次测试和实践

  7. 陆宇杨 说:

    还是雨松这里靠谱啊,网上都是些raycast的文章,拜托,真的搞项目的时候UI多过3D很多,请行外人先搞明白2D再3D吧,一上来就搞3D,就算你搞懂了,。。。。其实也没办法搞懂的,因为一开始方向就错了,出来的结果也是错的,也没法很完整的想法分享,没分享没进步。

  8. Vector 说:

    我的场景中有多个UI,我在其中一个UI上加载了脚本,结果所有的UI都执行了脚本,我该如何获取触摸到的ui的名呢?

留下一个回复

你的email不会被公开。