在C++下使用ccb。绑定调用,成员变量。让人头疼又easy犯错。

自己用pythong写了个小程序,通过ccb文件直接生成C++代码

python我用的不多。又是随性所做。代码质量就非常差。大家多多包容吧。

一共包含三个文件,codeGen.py, myCommon.py ,genCpp.py

执行codeGen.py。

myCommon.py中包含一些配置信息,依据详细项目自己改动

class projectinfo:
def __init__(self):
self.projectName='FishingJoyForCcb' #项目的名称
self.customSubclass={<span style="white-space:pre"> #这个是自定义的父类,ccb文件里不会有这些信息,仅仅好在这里加上,前key是子类 value是父类
#sample 'Coin':'GameObject' subclassName : superclassName
#'Coin':'GameObject'
} self.ownerClass={<span style="white-space:pre"> #当成员 和回调方法的为owner类型的时候,能够在这里指定owner class。这样在ccb中定义的方法和成员变量就会在owner class中申明
#sample 'ownerClass': [className1,className2 ....]
#'Coin':['Match3Level']
} #self.ccbPath='/Users/dev/cocos2d-x-2.2.3/projects/FishingJoyForCcb/ccb_source'
#self.classPath='/Users/dev/cocos2d-x-2.2.3/projects/FishingJoyForCcb/Classes'
self.ccbPath='./' #ccb文件的文件夹 与在命令行路径一样。命令行优先 ,默觉得当前文件夹
self.classPath='./' #cpp 文件的文件夹 与在命令行路径一样,命令行优先 ,默觉得当前文件夹</span> self.ccbTargetType=['None','RootDocument','Owner']
self.ccbCustomPropertiesType=['int' ,'float','bool' ,'std::string' ] # className : classInfo
self.classDictionary={}

命令行

python codeGen.py  -c ./  -o ./  Coin Fish

-c,-ccbpath : ccb file path

   -o,-outputpath, --generator cpp file path

跟myCommon.py中定义的一个意思

最后能够跟上须要生成类的名称。没有不论什么类名,就生成ccb文件夹下的全部类。

成员变量我习惯加m_的前缀。因为程序写的烂,这个地方不太好改。大家凑合吧。

因为我自己主动给成员变量加了前缀,这样在ccb定义的时候就不用加前缀了,大写开头的变量名就能够了

比如:Type

这样就会生成

int  m_Type 的成员变量

和 int getType() 与 void setType(int value)的方法

自己主动生成代码才项目初期非常好用。后期不好维护。使用的时候做好规划。

ccb的扩展属性假设是string类型。我这里好像有些问题,大家使用当心。

代码下载地址

通过ccb(CocosBuilder)文件生成cocos2dx代码的更多相关文章

  1. XML文件生成C++代码(基于rapidxml)

    简述 与XML文件生成C++代码(基于pugixml)中的功能一致,只是这里改用的rapidxml来实现.就不多说了,直接放代码. 代码 #include "rapidxml-1.13/ra ...

  2. java 使用CXF将wsdl文件生成客户端代码命令java调用第三方的webservice应用实例

    1.先下载cxf包https://download.csdn.net/download/suizhikuo/108112362.解压缩包,通过cmd命令进入到bin目录下(cd cxf\bin的路径) ...

  3. XML文件生成C++代码(基于pugixml)

    简述 在一个项目中需要用到XML的解析和生成,知乎上有人推荐rapidxml和pugixml等库.RapidXML一看库还比较大,就先研究一下pugixml了. 因为对解析XML的需求不大(都是一些很 ...

  4. 根据wsdl文件生成java代码

    具体操作步骤: 1.  运行cmd命令 输入 C:\jdk-1_6_0_31\bin (根据自己的JDK的安装位置而定) 2.  新建gen.bat文件 3.  gen.bat文件内容为:wsimpo ...

  5. wsdl 生成 java 代码 java 使用CXF将wsdl文件生成客户端代码命令java调用第三方的webservice应用实例 推荐使用, 并且设置了 utf8

    推荐使用, 并且设置了 utf8 wsdl2java -p cn.smborderservice  -encoding utf-8 -d f:\logink\src -all -autoNameRes ...

  6. 使用Apache CXF根据wsdl文件生成代码

    1.去官网下载,我用的是apache-cxf-2.5.10.zip 2.解压 3.通过命令行进入Apache CXF的bin目录,如我的目录是D:\BIS\axis2\apache-cxf-2.7.1 ...

  7. 使用jsonschema2pojo-maven-plugin 插件根据json文件生成代码

    jsonschema2pojo 是一个不错的工具,可以帮助我们快速的根据json 文件生成pojo代码,提高开发效率,以下为简单的 使用maven 插件进行代码生成 使用maven 插件配置 < ...

  8. 根据wsdl文件生成WebService客户端代码

    有时候在项目中,一个项目可能有好几个公司在做.系统之间难免会出现互相调用接口的现象,这时候有一种办法就是使用webService.本篇文章将介绍如何将对接系统提供的WebService接口,根据对方提 ...

  9. 关于cxf生成客户端代码中的JAXBElement<String>

    1.使用自动生成的java文件中的 ObjectFactory构造入参 关于cxf生成客户端代码中的JAXBElement<String>    在使用cxf或者x-fire进行webse ...

随机推荐

  1. IIS架构与HTTP请求处理流程

    IIS架构与HTTP请求处理流程 Windows操作系统中的IIS负责提供互联网服务,一台运行了IIS的计算机可以看成是一台Web服务器. Windows XP SP2 中IIS主版本号为5,Wind ...

  2. VIM命令集

    Command Action Notes vim file +54 open file and go to line 54 any : command can be run using + on co ...

  3. 辛星与您使用CSS导航条

    第一步.我们创建了一个新的my.html档.在内容填入如下面.这个html文件不动,直到最后.正是这些内容: <!DOCTYPE html PUBLIC "-//W3C//DTD XH ...

  4. 从lca到树链剖分 bestcoder round#45 1003

    bestcoder round#45 1003 题,给定两个点,要我们求这两个点的树上路径所经过的点的权值是否出现过奇数次.如果是一般人,那么就是用lca求树上路径,然后判断是否出现过奇数次(用异或) ...

  5. 微软 Build 2016

    微软 Build 2016年开发者大会发布多项功能升级 微软Build 2016开发者大会在美国旧金山的莫斯康展览中心开幕.本次大会对一些重点功能进行了完善.如手写笔支持技术Windows Ink.语 ...

  6. Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程式开发

    原文 Visual Studio跨平台开发实战(5) - Xamarin Android多页面应用程式开发 前言 大部份的Andr​​oid 都具有实体或虚拟的Back键. 因此在处理多页面应用程式时 ...

  7. 概率dp专辑

    求概率 uva11021 http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...

  8. (视频)《高速创建站点》 4.2 完结篇 – 应用运营vs.发射卫星,遥測(Telemetry) 技术

    本文是<高速创建站点>系列的第10篇(完结篇),假设你还没有看过之前的内容,建议你点击下面文件夹中的章节先阅读其它内容再回到本文.訪问本系列文件夹.请点击:http://anb.io/bl ...

  9. 添加xml文件编辑语法提示

    找到Struts的lib目录 找到struts2-core-文件并解压开 这个struts.dtd文件才是我们需要添加的文件 双击XML Catalog 点击ADD Key中复制粘贴D:\web\st ...

  10. 在SQLAlter在现场一定的价值

    update AA set aa = replace(aa,'1234','规范') where aa like '%1234%'