unity 製作類似播放器歌詞滾動效果(彈幕效果)等等製作方案。

本文會爲大家介紹關於UGUI的使用中,經常會用到類似歌詞播放器的效果或者說類似彈幕滾動的效果。

首先說下我的做法:

首先製作一個scroll View。

將Scroll View 下的Context添加unity原生腳本Grid Layout Group,調整Cell Size大小爲你的彈幕的大小尺寸。自行調整。

在Context創建一個text,並隨意填寫內容。

複製多個(10+)看情況而定(看個人情況可以克隆出來,我這裏做例子,直接複製就可以了)

下面貼出代碼核心,只做核心思路解釋,有不同需求的可自行擴充。

文中只寫了類似歌詞面板的效果,橫板的自行修改參數即可,此處不做過多解釋。

參數需要注意的是childcount(text數量,或者說是歌詞行數)和MoveCount(每次移動的數量)

有任何問題直接留言,看到會回覆。 可以添加unity交流QQ羣 207019099 備註“unity 歌詞彈幕效果”。

	public float y;
    public int movenum = 0;
    public int childcount;

    public float moveCount;

    //public Transform warning;
    // Start is called before the first frame update
    void Start()
    {
        y = GetComponent<RectTransform>().localPosition.y;

        InvokeRepeating("RefreshMonitorPanel", 0, 2);
    }

    /// <summary>
    /// 刷新面板
    /// </summary>
    private void RefreshMonitorPanel()
    {
        if (transform.childCount > childcount)
        {
            RectTransform rectTransform = transform.GetComponent<RectTransform>();

            int count = transform.childCount;

            movenum++;

            if (movenum == count)
            {
                rectTransform.localPosition = new Vector3(rectTransform.localPosition.x, rectTransform.localPosition.y- moveCount * (movenum), rectTransform.localPosition.z);
                movenum = 0;
            }
            rectTransform.DOLocalMoveY(rectTransform.localPosition.y + moveCount, 1);
            
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章