Unity有間隔的UI經驗條自適應與載入

2021-10-24 04:45:35 字數 2189 閱讀 7164

今天遇到製作上圖這樣的進度條,自適應和載入都需要用**實現,所以記錄一下這個小技巧,

首先吧進度條製作一下,建立乙個背景把錨點放在最下方,然後建立空物體(背景是父物體),然後製作十個(根據自己需求)小進度條(空物體是父物體),,

給空物體掛載gridlayoutgroup元件,

間隔為10, cell size的x 用**計算,y自己調個合適的數即可,

下面是**部分:

//進度條的空物體背景

public

transform expprgtrans;

gridlayoutgroup grid = expprgtrans.

getcomponent

<

gridlayoutgroup

>()

;//全域性比例 計算ui基於當前螢幕高度的縮放比例:螢幕標準高度除以螢幕高度 使用高度計算比例是因為ui面板的縮放是基於高度的

float globalrate =

1.0f

* constants.screenstandardheight / screen.height;

//當前真實的ui寬度:當前螢幕寬度乘以全域性比例

float screenwidth = screen.width * globalrate;

//獲取進度條

float width =

(screenwidth -

178)/10

; grid.cellsize =

newvector2

(width,7)

;

screenstandardheight是螢幕的標準高度(即畫布高度),

我的是

使用screen.height來計算全域性比例,是因為ui面板的縮放是基於高度的,

178= (exp圖示所佔的大小(選著進度條的背景即可看到,如我的是74) +進度條的父物體(空物體)與背景兩頭空餘出的空間(選著空物體即可看到,如我的左邊是4 右邊是10)+ 進度條之間的間隙(10個小進度條有9個間隔 每個間隔是10,共90))全部相加後除以10,

以上是製作經驗條和自適應的操作,

--------------------------分割線--------------------

以下**是經驗條的載入

int exppr**al =

(int

)(pd.exp *

1.0f

/ pecommon.

getexpupvalbylv

(pd.lv)

*100);

int index = exppr**al /10;

//載入進度條

for(

int i =

0; i < expprgtrans.childcount ; i++

)else

if(i==index )

else

}

exppr**al可以顯示在text文字上,

getexpupvalbylv是計算這個專案計算經驗值的方法(根據自己專案中經驗值編寫**)

//公升級的經驗值

public

static

intgetexpupvalbylv

(int lv)

ul標籤中的li有間隔

在做李立超老師css教學的京東輪播圖練習時,遇到了乙個問題。的大小是590470。明明已經引入了reset.css,只是給ul設定了幾個邊距。結果發現,每個li之間有兩個畫素的空白間距。滑鼠放在上顯示的是,img590470。滑鼠放在li上卻顯示590 472。多出的兩個畫素是在li的content...

span有間隔 如何去除span之間的間隙bug

不知道大家有沒有這樣的經歷,我們把2個span寫在一起的時候,在頁面上會發現他們之間有一段間隙,這是什麼原因呢?先不要著急往下看我的解決方法,自己先想一下,也許你想到的比我的方法會更好。html hello,世界css wrap font size 0 background blue span ba...

Unity3D遊戲UI開發經驗談

在unity專場上,108km創始人梁偉國發表了 unity3d遊戲ui開發經驗談 主題演講。他以公司團隊為案例,從流程方面介紹了從ui製作 設計到程式設計,並展示了ui布局和美術製作框圖。他強調做技術產品一定要考慮開發和研發的區別。108km創始人 梁偉國 以下是文字實錄 首先跟大家簡單介紹一下u...