37 lines
934 B
C#
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;
|
|
}
|
|
} |