当前位置:网站首页>Unity关于IsPointerOverGameObject接口真机失效问题
Unity关于IsPointerOverGameObject接口真机失效问题
2022-04-21 06:27:00 【菜菜码农柠檬哥】
在制作游戏时,有时需要发射射线执行游戏的相关功能,但是在点击UI的同时,却也会触发游戏内的相关功能,为了规避此事件的发生,Unity提供了一个名为EventSystem.current.IsPointerOverGameObject()的函数,使用这个函数可以规避点在UI上依旧会触发游戏功能。但是在电脑上运行无误,打包成apk到真机上之后,这个函数会失效。
所以我们用如下代码对此接口进行优化,示例代码如下:
public static bool IsPointerOverGameObject()
{
PointerEventData eventData = new PointerEventData(UnityEngine.EventSystems.EventSystem.current);
eventData.pressPosition = Input.mousePosition;
eventData.position = Input.mousePosition;
List<RaycastResult> list = new List<RaycastResult>();
UnityEngine.EventSystems.EventSystem.current.RaycastAll(eventData, list);
return list.Count > 0;
}
调用优化后的接口即可
if (IsPointerOverGameObject() == false)
此接口多数情况下工作正常,但是有一种情况会失效。当点击关闭按钮关闭某个界面或UI时。还是会出现点到UI,界面顺利关闭的情况下触发游戏功能。解决方法只能延缓界面的关闭。示例代码如下:
public void CloseChangeWindow()
{
Invoke("RealClose",0.1f);
}
private void RealClose()
{
ChangeWindow.SetActive(false);
}
如有更好的解决方法欢迎留言探讨。
版权声明
本文为[菜菜码农柠檬哥]所创,转载请带上原文链接,感谢
https://blog.csdn.net/y1139735983/article/details/120723828
边栏推荐
猜你喜欢

「Tarjan」无向图强连通分量

Open platform and its technical architecture

Fundamentals of graphics | skin rendering

程序启动顺序引发的血案之 dpdk 进程死锁

【保姆安装教程】Linux操作系统中源码下载MySQL5.7

【无标题】数据库——《限制返回行数》

图形学基础|景深效果(Depth of Field/DOF)

推荐系统笔记(杂)

如何利用JMeter和Jprofiler对软件进行性能测试和优化定位

WordPress address siteurl error, unable to log in solution
随机推荐
mmdetection 使用自定义数据集训练 将数据集转为COCO格式
末日将至(简单计算几何)
Udevd retrieves the kernel module and loads the demo
Error opencv error: assertion failed (img. Cols = = width & img. Rows = = height & channels = = 3) in write
WordPress插件-Easy WP SMTP
推荐系统笔记(杂)
浅学cookie注入
Database splitting under microservice architecture
Solution to WordPress timeout problem
dpdk-16.04 igb crc length 统计问题
WordPress地址siteurl错误 无法登录的解决方法
Reflection cannot find the class message classnotfound of UDF when executing flinksql code
TX2上硬件编解码加速CSI接口摄像头
VMWare vSphere Failed to create object
【手部姿态估计】【论文精度】Pose Guided Structured Region Ensemble Network for Cascaded Hand Pose Estimation
Open platform and its technical architecture
C语言版栈的应用:进制转换
利用GoogleColab进行YOLO行人检测计数(YOLOv3+DeepSORT)
Process record of a failed migration of vmfstools from exsi
Sum of Numerators 思维