NGUI有boxcollider可以自己調整觸發的範圍
但UGUI由於不是用boxcollider來觸發的,所以要修改也要有另外個方法
基本上用雨松的方法就行了-->連結在此
但找到另外一種方法,可以少寫比較多的代碼,但比較不靈活(?,沒辦法自己控制想要的範圍
首先有這麼一張圖,做成UGUI的按鈕的話,透明的地方也會被觸發到
而今天我想消除透明的地方,只有有顏色的地方才能觸發
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNJ782HD34MYIt4ON-vJbT3S0bpQmtFC6qeV_aPmjKtubM8EtARHhmkt50jefgKIdOawOsHRUq7Z8-IIy-DMrKgMTyBdf3QWEs_McWCrDXZhSbFunCNkpHCbs7Y810TEwaASzGU_NZ9JQ/s200/coll_ap.png)
先把匯入的圖檔先調一下,調成可讀可寫的
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp6zgv7fJ6vhLZTIuL9xzn0-5MzpabKpA7mifBG4kSiN1717IygjDjsi0hC2b8_7-7XKpQ3hPDjpWEIep3_rbWVFcOtZxOiGxY1kBRh_5ZuPxeh5qhPGMvCllg2PXvX7KGolo6qMEob2Q/s200/alpha.png)
然後+入一個腳本
原理其實Unity API裡面寫得很清楚了
讀取Image的eventAlphaThreshold值,來判斷圖片的Alpha值(所以要把圖片設定為可讀可寫)
1的話就是總是會通過,調低就會忽略透明度,所以到最後點擊圖片才會響應。
Image就放你想套用的那張圖片,然後再調一下threshold 到你滿意的值就好
但UGUI由於不是用boxcollider來觸發的,所以要修改也要有另外個方法
基本上用雨松的方法就行了-->連結在此
但找到另外一種方法,可以少寫比較多的代碼,但比較不靈活(?,沒辦法自己控制想要的範圍
首先有這麼一張圖,做成UGUI的按鈕的話,透明的地方也會被觸發到
而今天我想消除透明的地方,只有有顏色的地方才能觸發
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNJ782HD34MYIt4ON-vJbT3S0bpQmtFC6qeV_aPmjKtubM8EtARHhmkt50jefgKIdOawOsHRUq7Z8-IIy-DMrKgMTyBdf3QWEs_McWCrDXZhSbFunCNkpHCbs7Y810TEwaASzGU_NZ9JQ/s200/coll_ap.png)
先把匯入的圖檔先調一下,調成可讀可寫的
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgp6zgv7fJ6vhLZTIuL9xzn0-5MzpabKpA7mifBG4kSiN1717IygjDjsi0hC2b8_7-7XKpQ3hPDjpWEIep3_rbWVFcOtZxOiGxY1kBRh_5ZuPxeh5qhPGMvCllg2PXvX7KGolo6qMEob2Q/s200/alpha.png)
然後+入一個腳本
using UnityEngine; using System.Collections; using UnityEngine.UI; public class UGUI_Button_alpha : MonoBehaviour { public Image image; public float threshold = 0.5f; void Start () { image.eventAlphaThreshold = threshold; } }
原理其實Unity API裡面寫得很清楚了
讀取Image的eventAlphaThreshold值,來判斷圖片的Alpha值(所以要把圖片設定為可讀可寫)
1的話就是總是會通過,調低就會忽略透明度,所以到最後點擊圖片才會響應。
Image就放你想套用的那張圖片,然後再調一下threshold 到你滿意的值就好