zoukankan      html  css  js  c++  java
  • cocos2d-x 2.2 利用python脚本在目录Classes内创建class

    VS2012下,新建的类,生成的位置都是在 proj.win32 目录中的,如果考虑到以后再安卓及IOS上的编译,是不是应该把他们拷贝到 Classes 目录中去?

    摸索了一下,发现VS2012直接创建不能直接指定文件夹,所以还是写个python脚本来干这个破事吧。谁让cocos2d-x里很多其他工具也用python脚本呢,那咱也来用一下。


    需要2个文件,一个批处理文件【CreateClassInProject.bat】,一个py的脚本文件【CreateClassInProject.py】。


    CreateClassInProject.bat
    内容如下:
    @echo off  
    echo CreateClassInProject:  
    rem set /p projectName=Please Input Project Name:   
    set /p className=Please Input Class Name:   
      
    echo Creating...  

    rem E:cocos2d-x-3.0CreateClassInProject.py -p %projectName% -n %className%    
    CreateClassInProject.py -p HelloCocoStudio -n %className%  
      
    echo Create successfully,Please add it in Classes.  
      
    pause


    CreateClassInProject.py
    内容如下:

    import sys,os  
      
    def createFileInClass(projectName,newClassName):  
        print("------------- 001 --------------");  
        # projectDir = "projects\"+projectName+"\Classes";
        projectDir = "Classes";  
        os.chdir(projectDir);  
        headName=newClassName+".h";  
        sourceName=newClassName+".cpp"  
          
        headFile=open(headName,"a");  
        tempFileName = "_"+newClassName.upper()+"_H_";  
          
        headFile.write("#ifndef "+ tempFileName +" #define  "+tempFileName+" ")  
        headFile.write("#include "cocos2d.h""+" ");  
        headFile.write("using namespace cocos2d; ");  
        headFile.write("class "+newClassName+" "+"{"+" "+"};"+" "+"#endif");  
        headFile.close();  
          
        sourceFile = open(sourceName,"a");  
        sourceFile.write("#include "+"""+headName+""");  
        sourceFile.close()    

          
    from optparse import OptionParser  

    print("------------- 002 --------------");  
    parser = OptionParser()  
    parser.add_option("-p", "--dir", dest="projectName",help="the project name",)  
    parser.add_option("-n", "--new", dest="newClassName", help="new class")  
    (options, args) = parser.parse_args()  


    print("-------------john--------------");  
    createFileInClass(options.projectName,options.newClassName)


    后面完善了再修改
  • 相关阅读:
    异或交换真的比开一个tmp快吗?
    淘宝前端团队的干货《论版本号的正确打开方式》
    箭头函数
    js对象引用问题
    json+underscore+Node 小例子
    fs.stat()
    Express static静态路由
    剑指offer(二) 替换空格
    Node实现简单的表单+图片上传+路由
    剑指offer(一) 二维数组的查找
  • 原文地址:https://www.cnblogs.com/Anzhongliu/p/6091956.html
Copyright © 2011-2022 走看看