C#从Vector3s中随机选择

时间:2014-10-26 07:05:43

标签: c# random vector unity3d

这是我第一次使用C#。我试图将transform.position随机分配给L1,L2或L3。我已经制作了一个Vector3s数组,然后我随机选择了3个3中的1个,但这似乎不起作用。我该如何解决?提前致谢。顺便说一下,我正在使用MonoDevelop和Unity。

L1=new Vector3(x,y,z);
L2=new Vector3(y,x,z);
L3=new Vector3(z,x,y);
Random rand=new Random();
Vector3[] randomVector3=new Vector3[]{L1,L2,L3};
transform.position=randomVector3[random.Next(0,2)}; //error here

//注意:如果我使用transform.position = L1它会起作用,但是如上所述,我希望它是随机的。

1 个答案:

答案 0 :(得分:1)

在Unity中,您只需使用Random.Range

即可
Vector3[] randomVector3 = {L1,L2,L3};

transform.position = randomVector3[Random.Range(0, 3)];

您需要使用0, 3,因为该函数在第二个参数上是独占的。

你也可以聪明并且使用:

Random.Range(0, randomVector3.Length)