跳到主要內容

發表文章

目前顯示的是 6月, 2015的文章

Unity NGUI-ButtonMessage & UIEventListener

好久好久 沒給他更心了   只能說太忙了。好啦  最近使用到UNITY來作公司的案子,話不多說,來記錄一下再UNITY裡面 怎麼來傳遞按下按鈕的事件吧!!!! 上圖是我在UNITY世界裡面的元件,主要看兩個東西就好;CUBE(發送事件) 與 GMAEOBJECT(接收事件)。(記得要再MainCamera裡面掛載NGUI程式叫做UICAMERA) 這邊我用了兩種NGUI的SCRIPT,第一種是 UIBUTTONMESSAGE ,把他丟到按鈕(你要觸發的元件上)如下圖 解釋一下這SCRIPT理面的細項 1.Script:不用說了吧 就是程式本身 2.Target:接收事件的物件(這很重要) 3.Function Name:再接收事件裡面,你要監聽的function。(意思是你可以有好多個接收function) 4.Trigger:按鈕的觸發方式(有超多種的啦) 5.Include Children:是個BOOL值,意思是是否包含子物件(應該是吧) 接著:你建立一個Script 放入監聽function就如下圖,並按下執行,他就有反應了 (在別的視頻教學有看過SendMessage用法 會有父與子的差別,但NGUI這個程式並沒有,其實他也是用UNTIY官網API提供的SendMessage延伸出來的,如下圖) 好啦--第二種方法 UIEventListener 把這程式丟在場景中隨便一個物件上都可以,他就像是神等級在監聽整個UNITY世界的物件事件般。接著在場景中隨便一個物件再掛載自己創立的程式,其內容為下圖 說一下吧:在Awake function 中 創立一個物件叫做button 並且去FIND"尋找"UNITY世界中名為CUBE的元件。 在下一行 UIEventListener.Get  取得按鈕是否被按下,假如有就執行ButtonClick function 在ButtonClick function中我們測試印出(gmaeobject.cube)有被按下去的話將會印出(那個"IN"是我自己亂家的)。下圖就試結果啦,以上。