Unity复制对象时让私有变量也被复制的简单方法

Unity复制对象时,如果一个变量为公共变量(public),那么这个变量的值会被复制到新的对象中去,但是如果一个变量是私有变量(private),默认是不会被复制的,如果希望被复制,可以在其前面添加[SerializeField]属性。但是这样也产生一个问题,这个私有变量就会允许在Inspect的面板中被修改,如果我们不希望这个私有变量在Inspect的面板中被修改,可以在[SerializeField]属性后面再添加一个[HideInInspector]属性,这样在Inspect的面板中就看不到这个变量了,做法参考如下:

cs 复制代码
	[SerializeField]
	[HideInInspector]
	int _countW = 1;
	public int countW => _countW;

	[SerializeField]
	[HideInInspector]
	int _countH = 1;
	public int countH => _countH;

	[SerializeField]
	[HideInInspector]
	float _frameRate = 0;
	public float frameRate => _frameRate;
相关推荐
张老师带你学23 分钟前
unity道具,哑铃架+天文望远镜,一边运动一边观星
科技·游戏·unity·模型·游戏美术
唐青枫1 小时前
C#.NET Span 深入解析:零拷贝内存切片与高性能实战
c#·.net
Swift社区6 小时前
如果今天重新做 Claw,会用什么技术
游戏·unity
Nuopiane9 小时前
关于C#/Unity中单例的探讨
java·jvm·c#
Tatalaluola11 小时前
3DGS高斯泼溅渲染简单理解
3d·unity·三维重建
努力长头发的程序猿13 小时前
在Unity当中使用GameFrameworkX框架的知识点
java·unity·游戏引擎
njsgcs14 小时前
c# solidworks 获得视图的投影矩阵
矩阵·c#
进击的编程浪人14 小时前
c/c++输入方法及对比
c语言·c++·c#
小曹要微笑14 小时前
C#中的各种数据类型
算法·c#·数据类型·c#数据类型