在Cocos Studio中,我们创建好控件之后,往往需要在代码里面实现绑定,然后通过代码去控制显示插件。studio在高级属性之中给我们提供了3个选择,分别是---自定义类,帧事件,以及用户数据,如图:cocosstudio3.0以上版本控件高级属性之自定义类的使用


本文主要说明一下在C++代码中如何实现“自定义类”的绑定

1.在studio中,创建好的控件在高级属性一栏的自定义类中,写好自己类的名字cocosstudio3.0以上版本控件高级属性之自定义类的使用

2.在C++代码中,创建自己的类,这里的类名要和studio里面自定义的类名相同。TextClass.cpp和TextClass.h

自己的类需要根据自己所创建的控件类型去继承类。比如你这个控件属于node,你就需要继承于node,如果是layer,就需要继承于layer。我的TextClass属于layer,

那么我就继承于layercocosstudio3.0以上版本控件高级属性之自定义类的使用

3.为自己所创建的类创建工厂类。这个类,必须继承于cocostudio::NodeReader

重写createNodeWithFlatBuffers,在这个方法里面创建自己的类,并且调用setPropsWithFlatBuffers()方法

cocosstudio3.0以上版本控件高级属性之自定义类的使用

4.在CPP中把创建好的上一步创建好的TextClassReader注册到CSLocader中cocosstudio3.0以上版本控件高级属性之自定义类的使用

红线框住的方法是其注册方法,也可以调用下述方法:

CSLoader* instance = CSLoader::getInstance(); 

instance->registReaderObject("TextClassReader",(ObjectFactory::Instance)TextClassReader::getInstance); 

道理类似。

需要注意的一点是,注册方法中,第一个参数需为自己创建的类的类名+Reader,比如“TextClassReader”;

 

相关文章:

  • 2022-12-23
  • 2022-01-09
  • 2022-12-23
  • 2021-07-25
  • 2021-10-20
  • 2022-12-23
  • 2021-06-18
  • 2022-12-23
猜你喜欢
  • 2021-11-21
  • 2021-06-13
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案