前往
大廳
主題

【Unity】利用 Coroutine 刷新 RectTransform 之設置

曉雄 | 2022-08-20 20:00:14 | 巴幣 2 | 人氣 151

有時在 Unity 中若使用腳本(.cs) 調用 RectTransform 的方法 (Method) 時
比如 SetSizeWithCurrentAnchors() 等,會發現明明已經將值寫入,但 Camera 上的視窗並未改變
個人認為這是 Unity 在你改值後 Rendering 的事件函數並未觸發的緣故

為了解決這一問題,個人採用 Coroutine 來刷新 RectTransform 之設置
即在完成 RectTransform 修改後,調用 Coroutine 並在回傳 WaitForEndOfFrame 後
調用 RectTransform.reapplyDrivenProperties()

此時,你會發現你想更動的值已經成功應用在想要改寫的 RectTransform 上了!


以上,是我個人在調整 RectTransform 時的辦法,我相信還有其他更好的方法,請各位前輩們不吝賜教!

創作回應

更多創作