cocos3.0bate的项目生成对比之前版本的cocos有较大的改变,每次新建新的项目都会把cocos2d的基础包复制一份带工程目录下
这是一个近1个G的包,太大了,关键的是一个后项目多了之后,想要统一修改cocos的c++层的成本就会变得很高,每个工程相对
都是独立的,都要重复修改一次。所以必须修改,修改内容如下:
通过cocos自带的创建工程的工具create_project.py创建一个名字为hellolua的工程,通过后台打印可以看到创建的过程
会复制引擎根目录下的cocos,extensions,external目录到新建项目目录下的cocos2d目录下。项目工程目录下的各个平台的
版本工程实际是通过复制引擎目录下的template目录下的工程来改名生成的,这个过程比较机械。
修改也是通过这个思路来入手,创建一个工程,修改后来代替template下的模板工程。同时也要修改cocos创建工程的代码
1:修改创建工程的代码。cocos2d-x-3.0beta\tools\project-creator\module下的core.py的代码修改
#begin copy engine
print("###begin copy engine")
print("waitting copy cocos2d ...")
# dstPath = os.path.join(self.context["dst_project_path"],"cocos2d")
# for index in range(len(fileList)):
# srcfile = os.path.join(self.cocos_root,fileList[index])
# dstfile = os.path.join(dstPath,fileList[index])
# if not os.path.exists(os.path.dirname(dstfile)):
# os.makedirs(os.path.dirname(dstfile))
#copy file or folder
# if os.path.exists(srcfile):
# if os.path.isdir(srcfile):
# if os.path.exists(dstfile):
# shutil.rmtree(dstfile)
# shutil.copytree(srcfile, dstfile)
# else:
# if os.path.exists(dstfile):
# os.remove(dstfile)
# shutil.copy(srcfile, dstfile)
# self.step = self.step + 1
# if self.callbackfun and self.step%int(self.totalStep/50) == 0:
# self.callbackfun(self.step,self.totalStep,fileList[index])
print("cocos2d\t\t: Done!")
注释了复制cocos基础包的过程;
2:打开新建工程的win32工程
建工程一开始加进来的lib库给卸载掉(libaudio,libbox2d。。。等),只留下项目工程
然后对着解决方案右键》添加》现有项目》选择引擎目录下的lib库,而不是工程目录下cocos2d里的lib库
然后对着工程右键》引用》框架和引用》点击添加新引用》(将刚刚添加进来的lib都添加进去);
然后修改附加包目录:右键项目》属性》c/c++》编辑附加包含目录》
然后修改连接器》输入》修改附加依赖
libcurl_imp.lib
lua51.lib
libcocos2d.lib
libExtensions.lib
libBox2d.lib
libchipmunk.lib
liblua.lib
websockets.lib
自带的安卓工程的proj.android\src\org\cocos2dx目录下是没有cocos的java的lib文件的,拷贝一个进去(cocos2d-x-3.0beta\cocos\2d\platform\android\java\src\org\cocos2dx目录下有)
然后还要修改proj.android\jni目录下的Android.mk文件的配置数据
LOCAL_C_INCLUDES 的路径修改为 LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(LOCAL_PATH)/../../../../../cocos2d-x-3.0beta/external/lua/tolua (按照自己电脑cocos引擎的目录修改)
将工程里由创建工程工具创建而来的cocos2d的文件删除掉,换成自己修改的 cocos2d文件夹(只有几m,有些文件移除不了,还没搞懂,后面继续更新)
这样模板工程就而完成了,可以覆盖掉引擎知道的模板工程。
通过修改过的创建工程的工具来创建一个新的工程就以的到一个新工程,打开win32项目,第一次会加载不了
项目工程,但是其他库是可以加载的,手动在vs里面删除掉项目工程,在手动添加一次win32目录的工程文件
这是一个近1个G的包,太大了,关键的是一个后项目多了之后,想要统一修改cocos的c++层的成本就会变得很高,每个工程相对
都是独立的,都要重复修改一次。所以必须修改,修改内容如下:
通过cocos自带的创建工程的工具create_project.py创建一个名字为hellolua的工程,通过后台打印可以看到创建的过程
会复制引擎根目录下的cocos,extensions,external目录到新建项目目录下的cocos2d目录下。项目工程目录下的各个平台的
版本工程实际是通过复制引擎目录下的template目录下的工程来改名生成的,这个过程比较机械。
修改也是通过这个思路来入手,创建一个工程,修改后来代替template下的模板工程。同时也要修改cocos创建工程的代码
1:修改创建工程的代码。cocos2d-x-3.0beta\tools\project-creator\module下的core.py的代码修改
#begin copy engine
print("###begin copy engine")
print("waitting copy cocos2d ...")
# dstPath = os.path.join(self.context["dst_project_path"],"cocos2d")
# for index in range(len(fileList)):
# srcfile = os.path.join(self.cocos_root,fileList[index])
# dstfile = os.path.join(dstPath,fileList[index])
# if not os.path.exists(os.path.dirname(dstfile)):
# os.makedirs(os.path.dirname(dstfile))
#copy file or folder
# if os.path.exists(srcfile):
# if os.path.isdir(srcfile):
# if os.path.exists(dstfile):
# shutil.rmtree(dstfile)
# shutil.copytree(srcfile, dstfile)
# else:
# if os.path.exists(dstfile):
# os.remove(dstfile)
# shutil.copy(srcfile, dstfile)
# self.step = self.step + 1
# if self.callbackfun and self.step%int(self.totalStep/50) == 0:
# self.callbackfun(self.step,self.totalStep,fileList[index])
print("cocos2d\t\t: Done!")
注释了复制cocos基础包的过程;
2:打开新建工程的win32工程
建工程一开始加进来的lib库给卸载掉(libaudio,libbox2d。。。等),只留下项目工程
然后对着解决方案右键》添加》现有项目》选择引擎目录下的lib库,而不是工程目录下cocos2d里的lib库
然后对着工程右键》引用》框架和引用》点击添加新引用》(将刚刚添加进来的lib都添加进去);
然后修改附加包目录:右键项目》属性》c/c++》编辑附加包含目录》
然后修改连接器》输入》修改附加依赖
libcurl_imp.lib
lua51.lib
libcocos2d.lib
libExtensions.lib
libBox2d.lib
libchipmunk.lib
liblua.lib
websockets.lib
自带的安卓工程的proj.android\src\org\cocos2dx目录下是没有cocos的java的lib文件的,拷贝一个进去(cocos2d-x-3.0beta\cocos\2d\platform\android\java\src\org\cocos2dx目录下有)
然后还要修改proj.android\jni目录下的Android.mk文件的配置数据
LOCAL_C_INCLUDES 的路径修改为 LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(LOCAL_PATH)/../../../../../cocos2d-x-3.0beta/external/lua/tolua (按照自己电脑cocos引擎的目录修改)
将工程里由创建工程工具创建而来的cocos2d的文件删除掉,换成自己修改的 cocos2d文件夹(只有几m,有些文件移除不了,还没搞懂,后面继续更新)
这样模板工程就而完成了,可以覆盖掉引擎知道的模板工程。
通过修改过的创建工程的工具来创建一个新的工程就以的到一个新工程,打开win32项目,第一次会加载不了
项目工程,但是其他库是可以加载的,手动在vs里面删除掉项目工程,在手动添加一次win32目录的工程文件
,项目工程名字在vs还是hellolua,手动修改为工程名字就可以了
今天先到这里,后面有发现继续更新,第一次写博客,有错勿喷^_^,欢迎交流