随机的.范围误差CS0029使用浮点数

本文关键字:浮点数 CS0029 误差 范围 随机 | 更新日期: 2023-09-27 18:08:37

我正在创建一个脚本,在地图上随机生成一个"区域",玩家必须站在其中生成点。我已经拥有了大部分的点数系统和区域系统,并且能够在每个区域达到最大点数时杀死区域(并摧毁对象)。

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

<>之前zoneGameHandler.cs(47,25):错误CS0029:不能隐式转换类型"float"UnityEngine。随机的之前下面是我的代码行:
random = Random.Range(0f, 5f);
print (random);

我知道这可能是一个新手犯的错误,所以看到这个新手问题跳出来应该不会让任何人感到头疼。

随机的.范围误差CS0029使用浮点数

您没有显示在哪里声明了random,但我怀疑您使用了:

Random random;

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

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

或者,声明要初始化它的变量:

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

如果您将此作为脚本编写,请使用var random : float而不是var random : Random