本站文章均为 李华明Himi 原创,转载务必在明显处注明:(作者新浪微博: @李华明Himi 
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/unity3d-game/1618.html
 

           点击订阅
 本博客最新动态!及时将最新博文通知您!


                 

最近几周基本两天通一宵,整个团队都在努力赶出一版技术删档测试包,也没时间来写点东西。正好今天有点时间来整理下。

这篇主要说下 Uniyt项目Build到iPhone运行后无法正常触发 Collider 这个问题。

一般我们都知道如果无法正常触发监听事件,无非有如下几种情况:

1. 没有添加 Collider

2. 挂载的 Collider 的尺寸没有与GO保持一致。

3. 被其他组建遮挡,事件被截取了

   那么如果一个事件在unity editor 中正常被响应(且检查Collider没有如上3种情况的问题),编译到iPhone运行无法正常触发事件,如何解决呢?

Himi先给出一张截图:

【UNITY3D 游戏开发之八】Unity编译到iPhone运行 Collider 无法正常触发事件解决方案_event

通过这个截图大家可以看到, 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