【发布时间】:2022-01-17 02:15:39
【问题描述】:
我想要一个具有公共数组的脚本,以便我可以修改检查器中的值。这是一个示例脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Foo : MonoBehaviour
{
public int[] bars;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
当我将脚本添加到游戏对象时,我可以在检查器中看到空列表(如预期的那样)。
但是当我向数组添加元素时,数组区域只是空白,所以我无法设置每个元素的值(或查看元素值是什么)。
这只是一个错误,还是我做错了什么?
我在 macOS Monterey 12.0.1 上运行 Unity 2021.2.5f1。
【问题讨论】:
-
我会尝试编译项目。另外我会尝试在代码
public int[] bars = new int[1];中初始化数组,尽管我相信它应该可以在没有初始化的情况下工作 -
@rustyBucketBay 我将
public int[] bars;更改为public int[] bars = new int[1];,重新编译,删除脚本并将其重新添加到游戏对象中,但我仍然遇到同样的问题(尽管现在检查员显示正如预期的那样,该数组只有一个值)。 -
如果我在 Unity 2020.3.11f1(64 位)版本中检查了它的任何帮助,并且您的脚本可以正常工作而无需初始化数组。可以在inspector中添加值,出现整数字段并且可以设置它们的值...
-
是的,正如@rustyBucketBay 所说,它也可以在我的 Windows 10 PC 上使用 2020.3.22f1,这可能与 Unity 2021.2.5f1 有关
-
是的,这绝对是一个错误。可能与this one(?) .. 它肯定在 Windows 和其他 Unity 版本中按预期工作..