@property(cc.Font)
_font: cc.Font = null;
@property
set font (font: cc.Font) {
this._font = font;
}
get font () {
return this._font;
}
以这样的形式写,并不能被编辑器识别
![]()
Font 或者 SpriteFrame 的 get/set 应该怎么样写?
@property(cc.Font)
_font: cc.Font = null;
@property
set font (font: cc.Font) {
this._font = font;
}
get font () {
return this._font;
}
以这样的形式写,并不能被编辑器识别
![]()
Font 或者 SpriteFrame 的 get/set 应该怎么样写?

private _font : cc.Font = null;
@property({type : cc.Font})
set font (value: cc.Font) {
cc.log('font changed');
this._font = value;
}
get font () : cc.Font {
return this._font;
}
我怎么才能在组件被add或者reset的时候触发指定的函数?
font 不会保存是什么情况呢
编辑器重新加载脚本 这个font会是初始空的
还是设计就是set get形式写的不会保存的
需要在属性前加上 @property 修饰才能被持久化到文件里,我这这样做的:
//状态
@property({type: cc.Enum(ChariotStatus)})
_status: ChariotStatus = ChariotStatus.RUN;
//通过属性面板控制
@property({type: cc.Enum(ChariotStatus)})
get status(): ChariotStatus {
return this._status;
}
set status(value) {
if (this._status === value) {
return;
}
this._status = value;
this.playAnimation();
}
以“_”开头的属性,不会显示到引擎属性面板上,也不会被持久到文件里,加上 @property 就可以被保存下来了,希望对你有所帮助。
搞定了 多谢