MIF_E31230101/Assets/Script Manager/GlowPulse2D.cs

37 lines
934 B
C#

using UnityEngine;
[RequireComponent(typeof(SpriteRenderer))]
public class GlowPulse2D : MonoBehaviour
{
[Header("Alpha Glow")]
public float minAlpha = 0.25f;
public float maxAlpha = 0.65f;
public float pulseSpeed = 2f;
[Header("Scale Glow")]
public float minScale = 0.95f;
public float maxScale = 1.12f;
private SpriteRenderer sr;
private Color baseColor;
private Vector3 baseScale;
private void Awake()
{
sr = GetComponent<SpriteRenderer>();
baseColor = sr.color;
baseScale = transform.localScale;
}
private void Update()
{
float t = (Mathf.Sin(Time.time * pulseSpeed) + 1f) * 0.5f;
Color c = baseColor;
c.a = Mathf.Lerp(minAlpha, maxAlpha, t);
sr.color = c;
float scale = Mathf.Lerp(minScale, maxScale, t);
transform.localScale = baseScale * scale;
}
}