据我所知,这是如何设置矢量“大小”
public Color[] teamAColors = new Color[4];
对于[4]我输入的数字似乎并不重要,大小始终保持为6.我不确定6号码来自哪里,因为我没有设置任何数字。
我甚至试过
public Color[] teamAColors;
然后让我的数组自动填充长度,但这也不会改变6。
答案 0 :(得分:5)
尝试点击'重置'从组件上的齿轮按钮。 它将重置所有填充的条目,但它应该删除缓存的大小。
我希望有所帮助!
答案 1 :(得分:4)
只是
public Color[] teamAColors;
但是那个“不会消失”的“6”值呢?
但是你已经陷入了“重置”GOTCHYA的统一!
只需使用不同的变量名称 ...
进行尝试public Color[] teste;
请参阅?
有,工作正常。您可以动态设置大小,只要您从不在代码中添加大小。
这是秘密:
Unity“以复杂的方式坚持”序列化值。
如果您在代码中设置一次大小,即使您随后更改了代码,Unity也会“记住”此内容。
有一种方法可以重置此“内部”值..查找着名的微小重置按钮。
它附在微小的Cog符号上。
要记住的关键规则是:
public float x; // do this
public float x=2f; // generally NEVER DO THIS
当你在这里时,这是一个非常方便的技巧。试试这个......
[Header("How good is this?")]
public float x;
这是一个更酷的!试试吧!
[Range(2f,4f)]
public float x;