最近几周基本两天通一宵,整个团队都在努力赶出一版技术删档测试包,也没时间来写点东西。正好今天有点时间来整理下。
这篇主要说下 Uniyt项目Build到iPhone运行后无法正常触发 Collider 这个问题。
一般我们都知道如果无法正常触发监听事件,无非有如下几种情况:
1. 没有添加 Collider
2. 挂载的 Collider 的尺寸没有与GO保持一致。
3. 被其他组建遮挡,事件被截取了
那么如果一个事件在unity editor 中正常被响应(且检查Collider没有如上3种情况的问题),编译到iPhone运行无法正常触发事件,如何解决呢?
Himi先给出一张截图:
通过这个截图大家可以看到, Widget 的一个Box Collider 属性被勾选了,所以运行时,Box Collider这个组建不管它的尺寸是多少,被触发时都会默认将其尺寸设定为与Widget 尺寸保持一致。
但是!如果仅仅勾选了Widget的Box Collider 而不去检查Box Collider这个组建的尺寸大小是否一致的话(如上图,Widget的尺寸是110×110,Box Collider 尺寸是 0,0),虽然在unity editor中运行正常使用~~ 但是当项目编译ios项目运行到iPhone时就会出现无法正常响应触发这个Collider!!
原因不知道是否是Unity 的BUG,如果只是单单勾选了 widget的 Box Collider属性,而Box Collider尺寸设定的不一致,在iphone 和 win上都会出现无法被触发的问题。
不知道这个问题是不是跟unity3d版本也有关系,当前我使用的版本是4.6.4f1