所有教程链接:
http://www.cocoachina.com/bbs/read.php?tid-1677434.html
http://www.cocoachina.com/bbs/read.php?tid-1677444.html
http://www.cocoachina.com/bbs/read.php?tid-1677448.html
http://www.cocoachina.com/bbs/read.php?tid-1677449.html
特殊说明。
(1) 可以省去的步骤。
有些自定义控件不需要添加新参数,比如,你定义一个按钮控件,你只是让按钮点击的时候变暗,而不是默认的放大一下,你就不需要增加参数,只是重载一下点击按钮的事件函数。如果不需要新参数,可以省去DataModel、ViewModel中增加的参数,省去flatbuffer中添加的参数,在CWXXXXReader类里都使用父类参数, createOptionsWithFlatBuffers和setPropsWithFlatBuffers函数直接调用父类方法就可以。
如果不需要在studio中所见既所得,就可以省去lua导出。
(2) Flatbuffer添加参数说明。
Cocos2d已经定义了自带控件的flatbuffer参数,我们只需定义自己添加的属性flatbuffer参数,其他参数引用父类控件的flatbuffer参数,引用方式如下:

ImageViewOptions就是父类参数,我们没有ImageViewOptions.fb文件,这个文件是不外放的文件,我们只能虚拟一个ImageViewOptions.fb文件,让我们的CWRatioImageOptions.fb引用,调用flatbuffer编译之后,生产的ImageViewOptions_generated.h我们不添加到工程,CWRatioImageOptions_generated.h在查找父类的时候,会在cocos2d文件里找到cocos2d定义好的参数。所以,如果你的自定义类继承自什么控件,就要虚拟一个对应的fb文件,并且添加到flatbuff.bat中编译,如图:

所有可供继承的fb文件名字可以参考cocos2d-x-3.10\cocos\editor-support\cocostudio\CSParseBinary_generated.h。


