天天看點

使用uGUI制作Android Material Button風格按鈕特效

偶然看到一篇關于Android原生開發按鈕特效的文章,發現這種效果在日常使用的許多app中普遍存在,于是思考了下在Unity3d uGUI下如何重制。http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/1130/2084.html

目标效果:

1. 滑鼠點選的位置開始生成一個慢慢擴大的波韻;

2. 長按一個按鈕,并保證Cursor一直不離開,波韻緩慢擴大直到覆寫整個Button,松開時執行指令,顔色逐漸消失;

3. Cursor在長按過程中一旦移開Button熱區,波韻迅速放大并漸變消失,指令将不執行;

4. 短點選操作,每次MouseUp波韻都加速放大并漸變消失,下次點選又建立一個新的波。

思路整理:

1. 通過EventSystems的接口類,擷取輸入姿态;

2. 通過Input.mousePosition傳遞滑鼠在螢幕上的2d坐标;

3. 通過Shader接收坐标,進行一定換算繪制波韻;

4. 通過給Button添加材質球把讓Shader在uGUI上實作。

使用uGUI制作Android Material Button風格按鈕特效

式例代碼:

MaterialButton.unitypackage

繼續閱讀