-
Creator 版本:3.8.3
-
目标平台:windows pc
-
重现方式:
-
首个报错:
-
之前哪个版本是正常的:
-
手机型号:
-
手机浏览器:
-
编辑器操作系统:
-
重现概率:
据我经验property下面放get,set刷新就会丢失,property下面直接放private _offset在那里刷新就不会丢了
@property(XXX)
private _offset//这里不要放get,set,直接放private _offset,刷新就不会丢失
搞错了哈,如果属性名加了下划线_,编辑器那里就会显示不出来
所以可以用$来代替一下_
@property(XXX)
private $offset
凡是要持久化记录的属性,都得保证源头可序列化,楼上的说法是正确的
在对应的私有变量上 @property({serializable: true)}
你试试不要把private $offset放property上面,试试放property下面
这种方式(在对应的私有变量上 @property({serializable: true)})可以,多谢各位指导 @3400142659 @gaojie111119 @1227889511
备注:同时在set 和#name 上增加增加propert,会导致属性面板显示相同的两个变量(仅名字差异)
这是个知识点,关于序列化的。
序列化说白了就是把数据存下来。
一般引擎里会根据属性的类型自动判定是否序列化,我记得好像是public的会显示到面板上并序列化。
当你用了get set之后,那个private的实际数据没有被序列化。你需要自己加上serializable:true来标记它,告诉引擎这个属性需要序列化。