Unity 解決在不同分辨率下正圓或正方形的變形問題

最近在遊戲開發過程中發現一個問題:在一個分辨率下建立的一個正圓或正方形物體換個分辨率就變成橢圓或長方形了


如圖我做的就是這樣一個計時器,數字周圍的滾輪在運行時是滾動的,一旦分辨率變換影響了正圓使其變成橢圓,這樣滾輪旋轉起來就太鬼畜了

於是乎我又投靠了傳說中萬能的百度,但依舊並沒有卵用,一堆無用信息讓我又對百度失望了,於是我自己開始想法子,還真讓我想到了。

試着想想,像這種正圓或正方形最大的特點是什麼?小學生都知道就是正方形的邊長相等,正圓的直徑相等,當然我們的Unity裏的UI是沒有圓形框的,所以實質上就是保證UI的框邊長相等。那麼我們何不在代碼裏動態控制UI框的邊長?話不多說,上代碼:(在Start()方法裏添加)

<span style="white-space:pre">		</span>GameObject timeScroll = this.gameObject;//獲取物體
		float width = timeScroll.transform.GetComponent<RectTransform> ().rect.width;//獲取物體的寬(或高)
		timeScroll.transform.GetComponent<RectTransform> ().sizeDelta = new Vector2 (width,width);(設置寬高統一)

很簡單的方法吧
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章