某次出包后,在移动设备下,发现所有的UIDrag和一些UIHUD组件都失效了,看了看Editor下是正常的,后面就做了一系列检查措施来排除问题所在。

1.看了下log日志里是否有相关报错异常,结果毫无发现

2.直接动手看对应组件相关方法和代码段下记录新log,结果有关update的更新一切正常。

3.通过第二步基本确定了问题出在Camera上,看堆栈信息Camera也貌似没有异常,为什么坐标系转化的结果就有异常呢?对了,屏幕坐标没有问题,转化结果一直都相同,Camera应该是拿错了,这个项目刚好2dUI和3dUI用了不同的相机,问题找到了,出现在GameObject.Find方法上,Hierarchy中场景的对象列表如下:

UIRoot

  UICamera)

UIRoot3D

  UICamera

3d部分是项目最近新扩展的,之前的2dcamera是通过GameObject.Find(“UICamera”)来查找的结果编辑器下Find结果是UIRoot下的,而移动设备下Find结果是UIRoot3D下的,后面改了全路径移动设备就正常了。

版权声明:本文为zzhangshiye原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zzhangshiye/p/14200129.html