Unity重命名公共字段以保留赋值

3

我该如何在Unity脚本中重命名一个字段,但保留它在Unity编辑器检查器中的赋值?举个例子:

public int x;

我在检查器中将"x"赋值为"1",然后在脚本中将"x"重命名为"y"。这个赋值会丢失。有没有办法保留它?

我正在使用Visual Studio。

2个回答

8

执行以下操作将保存检查器中的值。在场景再次保存后,可以将其删除。

[FormerlySerializedAs("x")]
public int y;

点击此处此处了解更多信息。


1
嗯,不像我希望的那样舒适,但它能工作,很好。 :) - Tavados
1
不要忘记导入 using UnityEngine.Serialization; - antpaw
我同时使用提供的命名空间应用了 [FormerlySerializedAs("x")] 这个属性。我不需要保存场景,只需在参数中正确地引用旧字段名称即可。效果很好。 - aidangig

2

以下是一些可能有用的附加信息。重命名不是您需要这个功能的唯一场景。如果您封装了该字段,您也需要这样做。

public int y;

封装

[FormerlySerializedAs("x")]
//[FormerlySerializedAs("a")] //-has support for multiple renames.
[SerializeField]
private int x;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接