Unity UGUI Button 無法點擊問題一例

來源:互聯網
上載者:User

標籤:google   tps   一個   war   log   .com   ugui   sed   對比   

理論上,只要一個按鈕自己這一層或者子節點有一個控制項勾選了RaycastTarget,並且按鈕為Interactable的.並且不被其他可以點擊的控制項阻擋,那麼這個按鈕就可以被點擊

在調一個介面時發現一個詭異的問題,有個按鈕死活無法點擊,EventSystem無法檢測到.旁邊的一個按鈕卻是ok的

對比了下,發現兩者的區別是:

可點擊的  x軸旋轉-180

不可點擊  無旋轉

將不可點擊的旋轉-180,發現可以點擊了

排查父節點,發現父節點掛了個Image為了做表現,旋轉了180.

既然確定問題是旋轉導致的,google了一下,發現了文章:

https://forum.unity.com/threads/button-with-rotation-y-180-can-not-click.293482/

確認UGUI無法接受反向按鈕的點擊.

在和同事討論時,同事提醒,有個開關是否接受反轉的點擊,即 Graphic Raycaster 的 Ignore Reversed Graphics這個選項

當然這個選項預設是勾選的,不接受反向點擊,為點擊時檢測的效能考慮.

所以這種情況下,還是要靠做介面時留心下旋轉.不建議關閉這個開關

後面試了下,哪怕把這個勾關掉,如果我旋轉90度自然也是無法接受點擊的

看了下相關源碼,是按這個Gameobject的Vector3.forward去算的.所以還是要小心

當然可以考慮寫一個指令碼,檢測這種forward是不是面向螢幕的,並校正

一般來說,沒有可點擊的物體是背對螢幕或者是90度旋轉的吧.

 

Unity UGUI Button 無法點擊問題一例

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.