property的displayName和tooltip能否和visible一样可以写成函数,这样可以根据不同的情况显示不同的名字和说明
官方能否支持下。
希望官方支持下。
可以具体描述一下你的使用场景吗?
好奇怪的需求
不明所以 

一个可供策划编辑流程的脚本,类型有很多(如图),选择不同的类型,会隐藏或显示(property-visible)一些属性可供设置,为了让序列化数据最小,同一个属性可能会用到不同的类型上。比如一个字符串属性,可用到多个类型上,播放音效的时候是音效名,播放动画的时候是动画名,如果displayName能动态变化,策划使用时会一目了然。
能否再看看
嗯,应该可以支持。
在支持之前,你要做的东西类似是动态生成表单。
有一些方法可以模拟:
- getset,getset 是不会序列化的,名字写死,通过 visible 切换要显示哪一个属性,然后 getset 内部把值统一在一个字段存取就不会浪费空间
- 用不同的 ccclass 来实现,每个 ccclass 定义一组数据,在组件中动态创建所需的 ccclass,赋值到组件的某个可序列化字段上。
- 用不同的组件来实现,组件分成类型和数据。类型组件负责增删数据组件。数据组件类似上面提到的 ccclass,给策划填入数据。
- 从外部导入数据,不在组件中设置
非常感谢,我现在选择的是第3个方案。
还有个2问题咨询下:
1.如何在数组中加一个选项进行增删操作。编辑器中可以使用什么事件emit或on也行。
2.如图,我的数组中第一个,播放动画,如何实现creator编辑器那样,动画名称是下拉菜单可供选择。
- 不支持…… 除非自己实现 inspector
- 可以参考下 Spine 组件的源码

非常感谢,增删我暂在cc.Component层做了个需要填写下标的方式,操作有点不方便
随便报个BUG.
cocos creator:2.4.4
使用第3种方案,每次选择类型,重新new一个对象,当2个对象有相同属性名,显示就会有问题。


重现流程:选择第一个类型,保存。

重新打开后,显示正常,当选择二个类型,显示也正常,再选回第一个类型,显示就会有问题了。

显示的还是二个类型的一个属性。
属性名取不同的变量名就能解决这个BUG
方法 3 说的是用多组件,不是用数组。
用数组的话,元素类型修改时,你有同步更新整个数组的类型吗?
或者你试试选中别的节点,再选回来,看看是否就正常了,是的话需要强制刷新一下 inspector,刷新方法参考下 Spine 组件的实现.
哦,sorry,我用的是第二种方式,BUG是第二种方式出现的,感觉是编辑器显示的BUG。
用数组的话,元素类型修改时,你有同步更新整个数组的类型吗?
或者你试试选中别的节点,再选回来,看看是否就正常了,是的话需要强制刷新一下 inspector,刷新方法参考下 Spine 组件的实现.
该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。
