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里面 如图所示

Unity 滑动列表ScrollRect制作_第1张图片

     7.Scollbar组件属性Direction修改成 Bottom To Top(往下拉将ScorllRect底部隐藏部分拖出来)

     8.制作Prefab Item

Unity 滑动列表ScrollRect制作_第2张图片

    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();
        ShowItems();
        mScrollbar.value = 1.0f;
    }

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

 

转载于:https://www.cnblogs.com/beat/p/9263305.html

你可能感兴趣的:(Unity 滑动列表ScrollRect制作)