Files
source/Assets/Scripts/BouncyText.cs

30 lines
781 B
C#

using TMPro;
using UnityEngine;
[RequireComponent(typeof(TextMeshProUGUI))]
public class BouncyText : MonoBehaviour
{
[SerializeField] private float frequency = 2f;
[SerializeField] private float minSize = 10f;
[SerializeField] private float maxSize = 12f;
[SerializeField] private bool add;
private TextMeshProUGUI text;
private float startSize = 0;
void Awake()
{
text = GetComponent<TextMeshProUGUI>();
if (add)
{
startSize = text.fontSize;
text.enableAutoSizing = false;
}
}
void Update()
{
float newsize = (Mathf.Sin(Time.time * frequency) + 1f) / 2f;
text.fontSize = Mathf.Lerp(add ? startSize : minSize, maxSize + (add ? startSize : 0), newsize);
}
}