在Cocos Studio中,我们创建好控件之后,往往需要在代码里面实现绑定,然后通过代码去控制显示插件。studio在高级属性之中给我们提供了3个选择,分别是---自定义类,帧事件,以及用户数据,如图:
本文主要说明一下在C++代码中如何实现“自定义类”的绑定
1.在studio中,创建好的控件在高级属性一栏的自定义类中,写好自己类的名字
2.在C++代码中,创建自己的类,这里的类名要和studio里面自定义的类名相同。TextClass.cpp和TextClass.h
自己的类需要根据自己所创建的控件类型去继承类。比如你这个控件属于node,你就需要继承于node,如果是layer,就需要继承于layer。我的TextClass属于layer,
那么我就继承于layer
3.为自己所创建的类创建工厂类。这个类,必须继承于cocostudio::NodeReader
重写createNodeWithFlatBuffers,在这个方法里面创建自己的类,并且调用setPropsWithFlatBuffers()方法
4.在CPP中把创建好的上一步创建好的TextClassReader注册到CSLocader中
红线框住的方法是其注册方法,也可以调用下述方法:
CSLoader* instance = CSLoader::getInstance();
instance->registReaderObject("TextClassReader",(ObjectFactory::Instance)TextClassReader::getInstance);
道理类似。
需要注意的一点是,注册方法中,第一个参数需为自己创建的类的类名+Reader,比如“TextClassReader”;