天天看點

【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