using UnityEngine; public class AnimationController : MonoBehaviour { public GameObject redEffect; // 红色击打动画对象 public GameObject greenEffect; // 绿色击打动画对象 public GameObject yellowEffect; // 黄色击打动画对象 public GameObject purpleEffect; // 紫色击打动画对象 public GameObject blueEffect; // 蓝色击打动画对象 private Animator redAnimator; private Animator greenAnimator; private Animator yellowAnimator; private Animator purpleAnimator; private Animator blueAnimator; private void Awake() { // 获取每个动画对象的 Animator 组件 redAnimator = redEffect.GetComponent(); greenAnimator = greenEffect.GetComponent(); yellowAnimator = yellowEffect.GetComponent(); purpleAnimator = purpleEffect.GetComponent(); blueAnimator = blueEffect.GetComponent(); } public void PlayDestroyAnimation(string color) { switch (color) { case "red": // 重置之前的触发器 redAnimator.ResetTrigger("PlayRedDestroy"); redAnimator.SetTrigger("PlayRedDestroy"); break; case "green": greenAnimator.ResetTrigger("PlayGreenDestroy"); greenAnimator.SetTrigger("PlayGreenDestroy"); break; case "yellow": yellowAnimator.ResetTrigger("PlayYellowDestroy"); yellowAnimator.SetTrigger("PlayYellowDestroy"); break; case "purple": purpleAnimator.ResetTrigger("PlayPurpleDestroy"); purpleAnimator.SetTrigger("PlayPurpleDestroy"); break; case "blue": blueAnimator.ResetTrigger("PlayBlueDestroy"); blueAnimator.SetTrigger("PlayBlueDestroy"); break; } } }