在对话系统中实现打字机效果

using DG.Tweening;

public bool isDoTweenEnd;

public void SetShowFont(Text text, string context, float timer, bool richText = true)
{
	DoTweenAnimation doTween = text.transform.GetComponent<DoTweenAnimation>();
	if(doTween == null)
	{
		text.gameObject.AddComponent<DoTweenAnimation>();
		doTween = text.transform.GetComponent<DoTweenAnimation>();
	}
	doTween.easeType = Ease.Linear;
	doTween.autoKill = false;
	doTween.autoPlay = false;
	doTween.animationType = DG.Tweening.Core.DoTweenAnimationType.Text;
	doTween.isFrom = false;
	text.text = "";
	Tweener tweener;
	if(isDoTweenEnd)
	{
		tweener = text.DOText(context, timer, richText);
		tweener.OnComplete(IsDoTweenComplete);
		tweener.OnPlay(DoTweenPlaying);
	}else
	{
		text.DoComplete();
	}
}

private void IsDoTweenComplete()
{
	isDoTweenEnd = true;
}
private void IsDoTweenComplete()
{
	isDoTweenEnd = false;
}

  是通过Dotween插件实现的

原文地址:https://www.cnblogs.com/xingyunge/p/8302586.html