30 lines
781 B
C#
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);
|
|
}
|
|
}
|