【Unity】關於屏幕自適應的思路


關於NGUI的屏幕自適應,大體思路可以這樣做:

     比如要實現在屏幕的左側做一個長條背景:

     可以看出這部分圖片是和屏幕高度一致的。那么只要得到“制作時的屏幕高度”以及“當前運行屏幕高度”,求兩個值的比值,然后當前UI的大小乘上這個比值即可得到UI適應后的大小。先完成這一步:

     1.新建一個widget。因為此UI要一直靠在屏幕左邊,所以它的pivot設置為左邊。Size設置成當前(制作時)的屏幕大小,比如1280X800.

     2.新建Sprite且為widget的子物體。擺好位置。

     3.建立自適應腳本並掛在widget上,就簡單幾句話,所以直接貼上了:

float w=1280, h=800;//設置默認屏幕大小(制作時的屏幕大小)
void Start ()
{
      this.transform.localScale=new Vector3(Screen.height / h,Screen.height/ h,1);
}

      點擊運行發現大小已經適應了屏幕,但是位置明顯跑偏了..如了個圖~:

      這時應該能想到問題所在了,UI的位置可以利用“當前屏幕寬度/2”求得

      即: this.transform.localPosition = new Vector3(-Screen.width/2,0,0); 

大功告成~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

       同理可得 :向右自適應,向上自適應,向下自適應的做法。(無非也是找出來高度的比值或寬度的比值)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM