Unity 滑動列表ScrollRect制作


    好久沒有寫博客了,最近兩年在做游戲后端開發,從事游戲的同學都有體會:不是在加班就是在加班的路上。也很少逛博客了,大部分時間活躍在Github上。最近公司后端比較閑散正好前端缺人,是時候轉前端了。哈哈哈...

    轉前端主要有幾個原因:

    一、前端的游戲引擎發張的太快了,越來越炫。

    二、打上家公司老大的臉(說前端UI非常難搭),以前后端大部分功能比前端提前1、2個月完成。

    三、框架搭好后后面很少有修改,特別是經過項目驗證了穩定性。

    四、長時間做同樣的事很容易產生疲憊感。

    五、前端也有很多東西值得挑戰,比如:shader、幀同步

    回歸重點:Unity制作滑動列表,先上效果圖(Unity初學者教程 教程里面用的事NGUI,這里是用UGUI)

 

步驟:

     1.在SceneMail創建一個Panel 改名為ScrollRect,ScrollRect添加Mask和Scroll Rect組件,Scroll Rect組件勾選Vertical 只需要垂直滾動

     2.在SceneMail創建一個Scrollbar控件

     3.ScrollRect上添加子控件Panel 改名為ScorllView,ScorllView大小覆蓋ScrollRect

     4.ScorllView添加子控件Panel 改名為Content,Content大小覆蓋ScorllView

     5.Content添加Vertical Layout Group和Content size Fitter組件,Vertical Layout Group組件設置好間隔和對其方式,會自動排列我們添加的控件,Content size Fitter用來調整顯示內容

     6.將ScorllView、Content和Scrollbar分別拖到ScrollRect里面 如圖所示

     7.Scollbar組件屬性Direction修改成 Bottom To Top(往下拉將ScorllRect底部隱藏部分拖出來)

     8.制作Prefab Item

    item是Toggle控件,去掉Lable控件,Panel是藍色背景,Checkmark是選擇控件 sender顯示的是王麻子的來信 time顯示的是時間 Button是刪除按鈕,將Item拖進Prefab制作成預制體

    9.批量生成滑動列表的內容

public class SceneMail : MonoBehaviour
{
    public Toggle mItemPrefab;
    private Transform mContentTransform;
    private Scrollbar mScrollbar;
    // Use this for initialization
    void Start()
    {
        mContentTransform = this.transform.Find("ScorllRect/ScorllView/Content");
        mScrollbar = this.transform.Find("Scrollbar").GetComponent<Scrollbar>();
        ShowItems();
        mScrollbar.value = 1.0f;
    }

    /// <summary>
    /// 顯示Item列表
    /// </summary>
    void ShowItems()
    {
        for (int i = 0; i < 20; i++)
        {
            Toggle item = Instantiate(mItemPrefab, transform.position, transform.rotation);
            item.transform.parent = mContentTransform;
        }
    }
}

 


免責聲明!

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



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