[Unity踩坑记录] 【待解决/求助】实例化的物体与原物体属性不同

发现了一个bug,时间原因没有深究解决方案,先记录一下

问题描述

现有ABC三个脚本,AB脚本为单例模式,有自己的静态Instance
B脚本中有一个C类变量

将A脚本挂到a物体上,B脚本挂到b物体上,C脚本挂到c物体上
将c物体拖到b物体上

开始运行后(b、c物体比a物体更早创建),a会获取b的instance,从这个instance获取c,并通过C的一个public函数Set改变c的private变量xyz,一段时间后由b通过挂在自己身上的c实例化一个c1出来

实例化出来的从c1并没有改变xyz的值,而是维持了默认值
经过Log得知,c的xyz确实被改变了,但是由c实例化出来的c1却没有获得和c一样的属性值,十分迷惑

接下来做了一些实验:

  1. 将xyz改为public
    结果:c2的xyz数值改变
  2. xyz保留private,但逐个加上[SerializeField]
    结果:c3的xyz数值改变
  3. xyz改为public,但逐个加上[HideInInspector]
    结果:c4的xyz数值改变

问题分析

目前我啥也看不出来呢…有人遇到了想到解决方法麻烦说一下呀谢谢…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值