1. 程式人生 > >Unity ScrollRect滑動

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部落格,不足地方 請大家指正