我尝试使用UnityEngine.Random.Range(min,max)函数生成一个随机数,但是我收到了以下错误:
不允许从MonoBehaviour构造函数(或实例字段初始化程序)调用RandomRangeInt,而是在Awake或Start中调用它。来自MonoBehaviour' myClass'在游戏对象' GameObject'。 请参阅"脚本序列化"有关详细信息,请参阅Unity手册中的页面。 UnityEngine.Random:Range(Int32,Int32)
以下代码(我使用的简化版本):
public class myClass : MonoBehavior {
// Some instance variables
List<Property> listA;
int value;
// Constructor
public myClass(){
init();
search();
}
public void init(){
// Some instructions
}
public void search(){
int randomNumber = UnityEngine.Random.Range(0, 10); // Error!
}
}
我一直在互联网上搜索这个错误,但我找不到任何明确的解决方案。例如:
https://forum.unity3d.com/threads/random-range-variable-problem.93054/(但我在调用Awake后需要随机数)