加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d-x 2.2 利用python脚本在目录Classes内创建class

发布时间:2020-12-14 16:27:01 所属栏目:百科 来源:网络整理
导读:VS2012下,新建的类,生成的位置都是在 proj.win32 目录中的,如果考虑到以后再安卓及IOS上的编译,是不是应该把他们拷贝到 Classes 目录中去? 摸索了一下,发现VS2012直接创建不能直接指定文件夹,所以还是写个python脚本来干这个破事吧。谁让cocos2d-x里
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 +"n#define "+tempFileName+"nn")
headFile.write("#include "cocos2d.h""+"nn");
headFile.write("using namespace cocos2d;nn");
headFile.write("class "+newClassName+"n"+"{"+"n"+"};"+"nn"+"#endif");
headFile.close();
sourceFile = open(sourceName,73); font-family:simsun; font-size:14px; line-height:21px"> 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)
后面完善了再修改

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读