当我的敌人死亡时,我正在使用它来播放死动画:
transform.GetChild(0).GetComponent<Animator>().Play("Death_01");
我想让代码在“Death_01”或“Death_02”之间选择。
这样做最简单的方法是什么? (数组,随机数,OR,..)
答案 0 :(得分:4)
使用Unity Random.Range
执行此操作。
int rand = Random.Range(0, 2);
if (rand == 0)
{
transform.GetChild(0).GetComponent<Animator>().Play("Death_01");
}
if (rand == 1)
{
transform.GetChild(0).GetComponent<Animator>().Play("Death_02");
}
修改强>
这样做最简单的方法是什么? (数组,随机数, OR,..)
如果您有2个以上的动画,则可以使用数组和Random.Range
的组合。这使得它更强大,而不是使用if
语句的buch。
//将动画数组声明为某个地方的全局变量
string[] allAnimation = { "Death_01", "Death_02", "Death_03", "Death_04", "Death_05", "Death_06" };
现在,你可以这样做:
int rand = Random.Range(0, allAnimation.Length);
string animToPlay = allAnimation[rand];
transform.GetChild(0).GetComponent<Animator>().Play(animToPlay);