【发布时间】:2016-09-14 21:06:01
【问题描述】:
Unity 的 UnityEditor 类的 OnInspectorGUI 方法似乎陷入了第 22 条问题。我想在检查器中命名数组元素以便于编辑,目前我正在使用,根据文档:
public override void OnInspectorGUI()
{
J_Character charScript = (J_Character)target;
charScript.aBaseStats[0] = EditorGUILayout.FloatField("Base Health", charScript.aBaseStats[0]);
}
在我的 J_Character 脚本中,我像这样初始化 aBaseStats 数组:
public float[] aBaseStats = new float[35];
问题是,每当我尝试在编辑器中执行任何操作(因此调用 OnInspectorGUI)时,我都会收到指向该行的索引超出范围错误
charScript.aBaseStats[0] = EditorGUILayout.FloatField("Base Health", charScript.aBaseStats[0]);
我猜这是因为我的数组是在游戏开始时初始化的,而编辑器代码在开发过程中一直在运行。
我该如何解决这种情况?
非常感谢。
【问题讨论】:
标签: arrays unity3d initialization customization execution