56 lines
1.9 KiB
C#
56 lines
1.9 KiB
C#
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<Animator>();
|
|
greenAnimator = greenEffect.GetComponent<Animator>();
|
|
yellowAnimator = yellowEffect.GetComponent<Animator>();
|
|
purpleAnimator = purpleEffect.GetComponent<Animator>();
|
|
blueAnimator = blueEffect.GetComponent<Animator>();
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
|
|
}
|