今天碰見一個問題: 在無任何相關操作的情況下, <UIEventListener>().onClick 會主動觸發,導致程序 邏輯錯誤。
- OnPress(isDown) 當鼠標按鍵在一個碰撞器上按下時觸發
- OnClick() 和OnSelect的觸發條件一樣,還能通過額外檢查鼠標是否還沒移開。UICamera.currentTouchID告訴你按下了哪個按鈕。
只要 改用 OnCLick -> OnPress 即可解決。
====================
20:55 後續,
奶奶個腿兒!
原來是 在 NGUI 的框架下, 按下 Enter (KeyCode.Return)按鍵 的情況, 默認爲:等價於在鼠標上一次點擊的屏幕位置position,實現一次 點擊操作!
====================
21:22 後續
打開 UICamera.cs
將 原框架 定義的
public KeyCode submitKey0 = KeyCode.Return;
修改 爲:
public KeyCode submitKey0 = KeyCode.None;
即可,此時,再 按下 Enter 鍵, 就不會觸發 Submit 操作,沒有異常了
yep~~
注:在代碼中設置後,最好再到 Hierachcy 中去 將 UI Root/Camera /UICamera 下的 Submit 設置爲 KeyCode.None 即可!