如何停止在下拉框 UI 元素下觸發游戲物件框碰撞器?
當我選擇一個下拉串列項時,它還會向下拉串列下方的游戲物件發送點擊。
顯然,在這種情況下,我們只希望一個 UI 元素被點擊。

uj5u.com熱心網友回復:
您需要做的是在 UI 和 box colliderIPointerClick上附加的腳本(一系列這些介面位于 中UnityEngine.EventsSystems)上實作,使用這兩者將使用相同的事件系統,它將被有效地阻止。
您需要PhysicsRaycaster在主攝像頭上添加一個。
uj5u.com熱心網友回復:
所以似乎沒有“內置”或優雅的方式來做到這一點,所以它的解決時間:這是我想出的完美的方法。
將這兩行放在您的 update() 中,以設定一個布爾標志,標記投遞箱正在使用中。
if (MyDropBox.transform.childCount != 3 && !MyDropBoxDown) { MyDropBoxDown = true;} // Detect dropbox down and set a bool flag
if (MyDropBox.transform.childCount == 3 && MyDropBoxDown) { MyDropBoxDown = false;} // detect dropbox up and unset a bool flag
然后你可以使用這個標志來禁用盒子碰撞器,或者直接退出盒子碰撞器呼叫的函式,例如 if (MyDropBoxDown) {return} 所以它不會運行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/533279.html
下一篇:C#串列的問題-RemoveAt
