Unity ScrollRect滑動
ScrollRect通常是和Mask元件一起使用的。mask元件的功能是使滑動到scrollrect指定區域之外的內容隱藏。
滑動ui層級結構,如下圖所示:
tabcontrol :
tabcontrol上繫結著ScrollRect、Mask、Image元件。
ScrollRect : Content 滑動的內容,也就是tabcontrol層級下的Content,拖拽進去
Horizontal:水平滑動 Vertical : 豎直滑動
Movement Type : 滑動狀態 unrestricted:沒有回彈效果,實現效果非常生硬(具體自己可以測下,語言表達能力有限) Elastic : 最理想的滑動,有回彈 有摩擦力 Clamped:無滑動
Inertia :勾上之後,滑動會順暢很多
Image : Source image 新增的uimask是遮蓋效果,使其不能在滑動時對滑動區域外進行操作
Content :
繫結上Grid Layout Group(網格元件),在這裡我說下網格元件比Vertical Layout Group以及Horizontal Layout Group功能更加強大,因此學會用網格元件是很重要的。(當然也可以新增Vertical Horizontal兩個元件,在這裡我是新增的網格元件)
新增上網格元件後,content的子層級的位置,只能通過Grid Layout Group的padding屬性來改變(子層級下的transform變灰,不可改變),
Grid Layout Group : Cell Size 子物體的寬高
Spaceing : 子物體之間的間距
Start Corner : 從哪個方向開始排列
Start Axis : 選擇豎直排列還是水平排列
Constraint:Fixed column count 選擇一行可以排列幾個物體
因為Grid Layout Group新增之後就不可以直接改變其中物體的位置,因此出現了Conent Size Fitter元件,此元件可以對Horizontal、Vertical進行選擇,使其自適應(具體含義請百度搜索,在這裡不做贅述)
最後要注意的是,如果要實現滑動效果,對於tabcontrol層級的transform中的寬高要格外慎重,這裡的寬高區域一定要小於內容的區域,不然就不能實現滑動停留效果(滑動立馬回回彈過來)。 親自試坑,望對大家有幫助
第一次寫unity部落格,不足地方 請大家指正