Unity C#让代码随机选择2个结果

时间:2016-12-06 21:54:54

标签: c# unity3d random

当我的敌人死亡时,我正在使用它来播放死动画:

transform.GetChild(0).GetComponent<Animator>().Play("Death_01");

我想让代码在“Death_01”或“Death_02”之间选择。

这样做最简单的方法是什么? (数组,随机数,OR,..)

1 个答案:

答案 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);