天天看点

【UNITY3D 游戏开发之八】UNITY编译到IPHONE运行 COLLIDER 无法正常触发事件解决方案

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

这篇主要说下 uniyt项目build到iphone运行后无法正常触发 collider 这个问题。

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

1. 没有添加 collider

2. 挂载的 collider 的尺寸没有与go保持一致。

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

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

himi先给出一张截图:

【UNITY3D 游戏开发之八】UNITY编译到IPHONE运行 COLLIDER 无法正常触发事件解决方案

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