参考:
Unity滚动字幕如丝般顺滑_zkk158071143的博客-CSDN博客_unity滚动字幕Unity滚动字幕如丝般顺滑1,使用unity Ugui2,将下面代码挂在到Text上 public float speed; public RectTransform maskRec; public RectTransform rec; float localX; float localY; float localZ; float txtWidth; void Start() { localY = transform.localP
https://blog.csdn.net/zkk158071143/article/details/107532947
步骤
创建遮罩
拖动位置到要显示的地方
创建文本
设置文本框水平方向宽度自适应文本长度
创建并挂载脚本
代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class TextSpeed : MonoBehaviour
{
public float speed;
public RectTransform maskRec;
public RectTransform rec;
float localX;
float localY;
float localZ;
float txtWidth;
// Start is called before the first frame update
void Start()
{
localY = transform.localPosition.y;
localZ = transform.localPosition.z;
//Debug.LogError(maskRec.rect.width);
rec.anchoredPosition = new Vector2(maskRec.rect.width, 0);
}
// Update is called once per frame
void Update()
{
if (speed != 0)
{
txtWidth = rec.rect.width;
if (rec.anchoredPosition.x < -txtWidth)
{
rec.anchoredPosition = new Vector2(maskRec.rect.width, 0);
}
localX = transform.localPosition.x - speed * Time.deltaTime;
transform.localPosition = new Vector3(localX, localY, localZ);
}
}
}
设置项目: