Random.range错误CS0029使用浮点数

时间:2014-06-15 13:25:52

标签: c# .net unity3d

我正在创建一个脚本,将“区域”随机生成到地图中,玩家必须站在该地图中才能生成点。我已经拥有大部分点系统和区域系统,并且当满足每个区域的最大点数时能够杀死区域(并破坏对象)。

我现在想在zoneAlive == false时选择一个随机区域。我想我可以使用浮点变量来选择区域ID,然后使用Random.range从X到X中选择一个随机ID。我这样做会产生CS0029错误。

zoneGameHandler.cs(47,25): error CS0029: Cannot implicitly convert type `float'
to `UnityEngine.Random'

这是我的代码行:

random = Random.Range(0f, 5f);
print (random);

我知道这可能是一个非常新的错误,因此不应该让任何人头疼看到这个新手问题。

1 个答案:

答案 0 :(得分:5)

您还没有显示您宣布random的位置,但我怀疑您已使用过:

Random random;

而您实际上希望random的类型为float

float random;
...
random = Random.Range(0f, 5f);

或者,将变量声明为初始化它:

float random = Random.Range(0f, 5f);

如果您将此作为脚本撰写,请使用var random : float代替var random : Random