unity公告跑馬燈實現

scene中的設置
在這裏插入圖片描述
在這裏插入圖片描述

代碼移動

/// <summary>
/// 公告跑馬燈
/// </summary>
private Text NoticeText;
public Vector3 Speed=new Vector3(2,0,0);
public float _MoveEndPoint;
public Vector2 _MoveStartPoint;
public float _ParentWidth;
public float _SelfWidth;

    /// <summary>
/// 註冊 公告,便於刷新
/// </summary>
/// <param name="text"></param>
void RegisterBroadcast(string text)
{
    NoticeText.text = text;
    _ParentWidth = NoticeText.transform.parent.GetComponent<RectTransform>().rect.width;
    // 寬度獲取
    //        _SelfWidth = NoticeText.transform.GetComponent<RectTransform>().rect.width;
    _SelfWidth = NoticeText.preferredWidth;
    NoticeText.transform.GetComponent<RectTransform>().pivot = new Vector2(0, 0.5f);

    _MoveEndPoint = -_ParentWidth / 2 -_SelfWidth;
    
    _MoveStartPoint=new Vector2(_ParentWidth / 2, 0);
}

private void FixedUpdate()
{
    // 公告移動
    if (NoticeText.gameObject.activeInHierarchy)
    {
        NoticeText.transform.localPosition -= Speed;
        if (NoticeText.transform.localPosition.x <= _MoveEndPoint)
        {
            NoticeText.transform.localPosition = _MoveStartPoint;
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章