属性检查器可不可以动态显示属性

在组件定义属性然后再属性检查器里可以显示
但是可不可以我定义两个属性 一个是一个boolean值一个是cc.Node
当boolean为true的时候cc.Node在属性检查器里显示
在编辑器界面就是相当于点【√】cc.Node就显示取消【√】就不显示
之前在尝试用get set方法可以实现动态的点【√】添加另一个组件取消移除组件
不知道有什么方法可以操作本组件属性的状态

你可以使用property的 notify方法实现你想要的需求:
自定义属性的notify()方法,该方法会在这个属性在编辑器中被修改时调用。那么你只需要在方法中根据属性的值(bool量的值)去修改另一个属性的值,也就是你说的 Node的 visible

不好意思 不是很懂你说的方式怎么实现 能不能举个简单的例子 谢谢了!

cc.Class({
extends: cc.Component,

properties: {
    
    //布尔量开关
    switch: {
        default: false,
        notify: function() {
            this.switchStatusChanged()
        }
    },

    //目标属性
    testNode: {
        type: cc.Node,
        default: null,
        visible: false,
    }
},


switchStatusChanged: function() {
    let isOn = this.switch
    //修改一个属性的参数
    cc.Class.attr(this, "testNode", {
        visible: isOn,
    })
},

});

1赞

感谢帮忙