NGUI scroll view製做

一、建立scroll view:自己是個PANEL

二、scroll view下建立Grid:

   UIGrid各項設置:ide

    Arrangement:表格的顯示方向工具

    Sorting:對錶格內的內容進行排序,Alphabetic(以字母順序排序),Horizontal(水平方向進行排序),Vettical(垂直方向進行排序),Custom(自定義的排序)orm

    Cell Widht:單個顯示的寬度blog

    Cell Height:單個顯示的高度排序

三、實現鼠標點擊能夠移動scroll view中內容:

  爲Panel添加腳本:UISceollView.cs並設置UIPanel組件裏的選項:圖片

  

  Clipping設爲Soft Clip,設置size爲scroll view內容的顯示區域;ip

  UIPanel各項設置:ci

    Clipping:面板剪切,分爲None(無剪切效果),Soft Clip(軟剪切,有邊緣模糊效果),Alpha Clip(硬剪切,邊緣鋒利)it

    Constrain But Don't Clip(顯示全部內容,可是是剪切區域存在)io

    Advanced Options:高級選項

    Render Q:面板裏全部圖片的渲染質量,Automatic(自動適應),Normal(正常),Explicit(用戶指定)

    Normals:法線貼圖

    Cull:若是用鼠標手動組件則剔除組件

    Visible:面板是否在可視範圍內

    Offset:經過位置偏離錨點

    Static:若是是沒移動的組件,也進行代碼檢測,通常是用於ScrollView

    Panel Tool:是否顯示面板工具

    Show Draw Calls:顯示渲染的詳細信息

  運行能夠看到內容已經能夠按序顯示,可是移動鼠標點擊時scroll view裏面的內容沒法根據鼠標的動做來移動,須要爲UIGrid下的sprite添加組件;

四、爲UIGrid下的內容添加根據鼠標動做來移動須要的組件:

  須要添加腳本:UIDragScrollView.cs

  須要添加組件:Box Collider;

   Box Collider大小通常和UIGrid中的Cell Width和Cell Height保持一致;

  試運行,就能夠看到當鼠標至於Pnael區域裏面時,滾動鼠標滑輪,sprite內容會切換顯示;

五、爲sprite根據鼠標滾輪滑動時顯示居中效果:

  爲UIGrid添加腳本組件:UICenterOnChild.cs

  添加腳本組件後可能顯示的效果以下所示:

  

  修改Panel和UIGrid的相應設置:

    Panel——UIScrollView——Content Origin:Center

    UIGrid——UIGrid(Script)——Pivot:Left ,修改後效果以下:

      

  這樣,當鼠標滾輪滑動時,偏移的sprite會自動調整使離中間位置最近的一個sprite調整到中間位置;

 六、當鼠標點擊某一項時使之居中:

  爲UIGrid中的每一項添加腳本:UICenterOnClick.cs便可

  

注意事項:

  一、當爲scroll view中添加居中顯示時,左側或者右側可能會有空白,以下圖所示:

    

    

  即選中左側第一個時,左側會空出來,選擇右側第一個時,右側會留空白

相關文章
相關標籤/搜索