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)


    后面完善了再修改
  • 相关阅读:
    你的项目中使用过哪些JSTL标签?
    编程用JAVA解析XML的方式?
    用jdom解析xml文件时如何解决中文问题?如何解析?
    SpringMVC 的核⼼⼊⼝类是什么?Struts1,Struts2 的分别是什么?
    SpringMVC 的异常处理 ?
    SpringMVC 里面拦截器如何写?
    谈谈Hibernate中inverse的作用?
    Hibernate中session有几种创建方式?都有那些区别?
    Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)?
    Shiro认证过程?
  • 原文地址:https://www.cnblogs.com/Anzhongliu/p/6091956.html
Copyright © 2011-2022 走看看