cocos2d-x创建新项目模板
1、起因
长期使用项目中自带的HelloWorldScene来创建模板工程,不知大家有木有感到厌烦?
我是个懒人,所以就弄了个新的模板工程。这样最起码可以不用每次都把HelloWorldScene删掉再创建一个Scene了,求不被鄙视...... 另外因为通常都会用cocosBuilder作为界面的编辑工具,我就将ccbi文件也加进模板项目中了。
2、内容概述
这个模板项目大致包含有:
1、主Scene变更为GameScene。其中有两个层,分别是GameLayer与HudLayer。
2、HudLayer中包含一个cocosBuilder导出的状态显示层。
3、HudLayer中包含自动更新检测与退出按钮。
有图有真相:
项目运行起来是这样的:
像素设定为1024x768。
工程目录是这样的:
3、原理
4、动手更改
首先复制一份InstallWizardForVS2012.js。
不要运行,以编辑的方式打开这个新的副本。
找到这部分:
// Wizard Infovar nNumWizards = 1;var astrWizardName = new Array();astrWizardName[0] = "CCAppWiz.win32";var nCntr;for (nCntr = 0; nCntr < nNumWizards; nCntr++) {var strSourceFolder = FileSys.BuildPath(strScriptPath, astrWizardName[nCntr]);
......
CCAppWiz.win32是项目名,这就是我们要找的了。所以我们还要复制一份CCAppWiz.win32。我重命名为layerWithHud.win32。项目名改了。项目内容自然也要改。把文件夹中的CCAppWiz都改掉,效果如下:
下面我们来编辑文件内容。 首先是.vsdir。
这个文件是与VS模板所对应的。我将其更改如下:
layerWithHud.win32.vsz| |LayerWithHud Application |1|Create A Application With Basic Layer and Hud.| |6777|4096|#1154
第一个字段表示所对应的.vsz文件的名字。第二个字段是模板的名字。第四个是描述。改好保存。
然后我们打开VS的项目。将自己之前调试好的类,正确的加入到项目中。这个项目是08生成的,我正好也有,就没转换项目,用vs2012打开并进行调整效果也是一样的。
接下来是Templates/1033/Templates.inf。这个文件描述了要复制到新项目的文件都有些什么:
proj.win32/res/root.ico
proj.win32/root.rc
proj.win32/resource.hproj.win32/main.h
proj.win32/main.cppClasses/AppDelegate.h
Classes/AppDelegate.cpp[! if CC_USE_LUA]
../../../../../scripting/lua/cocos2dx_support/LuaCocos2d.cpp
../../../../../scripting/lua/cocos2dx_support/LuaCocos2d.h
../../../../../scripting/lua/cocos2dx_support/CCLuaEngine.cpp
../../../../../scripting/lua/cocos2dx_support/CCLuaEngine.h
../../../../../scripting/lua/cocos2dx_support/Cocos2dxLuaLoader.h
../../../../../scripting/lua/cocos2dx_support/Cocos2dxLuaLoader.cpp
../../../../../scripting/lua/cocos2dx_support/tolua_fix.c
../../../../../scripting/lua/cocos2dx_support/tolua_fix.h
[! else]
Classes/CCBHud.h
Classes/CCBHud.cpp
Classes/GameLayer.h
Classes/GameLayer.cpp
Classes/GameScene.h
Classes/GameScene.cpp
Classes/HudLayer.h
Classes/HudLayer.cpp
[! endif][! if CC_USE_LUA]
Resources/Default.png
Resources/crop.png
Resources/farm.jpg
Resources/land.png
Resources/menu2.png
Resources/Icon.png
Resources/dog.png
Resources/hello.lua
Resources/hello2.lua
Resources/menu1.png
Resources/background.mp3
Resources/effect1.wav
[! else]
Resources/CloseSelected.png
Resources/CloseNormal.png
Resources/HelloWorld.png
Resources/Texture/Time_New_Roman.fnt
Resources/Texture/Time_New_Roman.png
Resources/Texture/Time_New_Roman_small.fnt
Resources/Texture/Time_New_Roman_small.png
Resources/Texture/back.png
Resources/HudHorizontal.ccbi
CCBProject_Hub.rar
[! endif]
如果定义了Lua,即:向导勾选了Lua,则进入Lua的条件语句。目前与Lua的逻辑无关。我的Class中的文件要复制过去,所以加入到其中。相应的ccbi文件与字体图片什么的也要一并写进去。每个文件都写有些麻烦,有人知道怎么添加整个文件夹,希望能告诉我。最后那个rar是cocosBuilder的项目。我打成一个rar随项目资源一起复制过去。
改了一圈最终可以改动InstallWizardForVS2012.js这个副本文件啦,我们把它重命名为InstallLayerWizardForVS2012.js 找到之前那部分,改为:
// Wizard Infovar nNumWizards = 1;var astrWizardName = new Array();astrWizardName[0] = "layerWithHud.win32";var nCntr;for (nCntr = 0; nCntr < nNumWizards; nCntr++) {var strSourceFolder = FileSys.BuildPath(strScriptPath, astrWizardName[nCntr]);......
还有需要更改一处:
// Read and write additional CCAppWiz.vsdir, add path to the wizard locationtry {var strDest = FileSys.BuildPath(strDestCCFolder, "LayerWithHud.vsdir");var ForWriting = 2;var fileDest = FileSys.OpenTextFile(strDest, ForWriting, true);......
这个.vsdir是储存在项目模板中的文件的名称,如果不更改,会将之前HelloWorldScene模板替换掉。
5、收尾
运行刚刚改好的InstallLayerWizardForVS2012.js 弹出App Wizard successfully installed for VS2012!则说明安装正确了。如果不正确可能是目录的问题,检查一下相应的文件。
如果一切顺利,重启VS即可看到你的新项目模板了。
本篇博客出自阿修罗道,转载请注明出处:http://blog.csdn.net/fansongy/article/details/9672375
cocos2d-x创建新项目模板相关推荐
- Unity Hub 自定义一个创建新项目模板(Template)
在Unity Hub中创建新项目时,官方给我们提供了一系列项目模板,通过不同模板创建新项目,新的工程文件中会自动包含相应的内容,本文介绍的是如何自定义一个模板,以便在我们创建新项目时,里面包含我们经常 ...
- vs2019中如何创建qt项目_VS2019创建新项目居然没有.NET Core3.0的模板?
今天是个值得欢喜的日子,因为VS2019在今天正式发布了.作为微软粉,我已经用了一段时间的VS2019 RC版本了.但是,今天有很多小伙伴在我的<ASP.NET Core 3.0 上的gRPC服 ...
- Vs2019创建新项目时,没有任何模板,导致无法创建新项目
Visual Studio创建新项目时,没有任何模板,导致无法创建新项目 问题描述 解决办法 问题描述 Vs2019创建新项目时,没有任何模板,导致无法创建新项目. 之前都是正常的,今天突然发现没法创 ...
- 图解Dev C++ 创建Win32 项目模板
打开Dev C++,新建一个项目: 在Windows程序设计第五版源码中,找到第10章,PoePoem例子:把PoePoem.c代码拷贝到main.cpp中: 用它来作为一个模板:PoePoem.c比 ...
- maven java archetype_使用Maven Archetype创建Java项目模板
1.over view 简而言之,Archetype是一个Maven项目模板工具包.原型被定义为一种原始的模式或模型,所有其他同类的东西都是从中产生的.当我们试图提供一个提供生成Maven项目的一致方 ...
- Android Studio开发第二篇创建新项目
创建新项目很简单,File-New-New Project,这个没什么好说的跟Eclipse都差不都. 第二步SDK选择,有手机平板还有Wear,TV,汽车Auto,谷歌眼镜等几个种平台,这里就先选择 ...
- SRPG游戏开发(三十一)第八章 游戏中的数据 - 一 创建新项目(Create New Project)
返回总目录 第八章 游戏中的数据(Data in Game) 在之前的章节中,我们进行地图对象的生成,移动等操作. 这一章本来可以进行战斗的编写,不过数据缺失是一个问题. 所以这一章我们先来建立一些数 ...
- 虚幻4-初识蓝图“创建新项目及设置自己的游戏模式“
创建新的项目,在创建新项目类型时选择游戏,因为并不需要预设的一些选项所以这里一般是选用游戏的项目选项 在选模板内可以看到官方一些预设的内容包,这里我们自己创建用空白,什么包都不要 不启用新手包与禁用光 ...
- 使用Maven Archetype创建Java项目模板
1.over view 简而言之,Archetype是一个Maven项目模板工具包.原型被定义为一种原始的模式或模型,所有其他同类的东西都是从中产生的.当我们试图提供一个提供生成Maven项目的一致方 ...
最新文章
- 深度学习中的Dropout简介及实现
- 网络化楼宇对讲的前景
- Linux 最常用命令(简单易学,但能解决 95% 以上的问题)
- Maven的优势举例
- PHP基础学习之数组使用要点
- 为了杀蚊子,他用树莓派DIY了一把激光枪!
- 最简单代码ASP.NET开源QQ登陆for Oauth2.0
- rabbitMQ碰到了对象跨项目的时候,反序列化出了问题
- EL表达式,JSP内置对象
- vue-router下的html5 history在iis服务器上的设置 vue去掉#
- repeater中分页aspnetpager是遇到的问题
- js生成批次号_【管理】MES系统中的批次管理
- django模板变量直接显示html代码的问题
- 渗透测试中linux常用命令
- python股票查询系统_使用Python查询股票所属行业
- ASP.NET大作业/ASP.NET期末项目/大作业
- android中实现图片圆形效果
- gom及gee小白架设黑屏的原因以及个别装备地图不显示怎么办?
- 登录 不输入账号密码 不能到下一个页面 没办法通过网址直接进去
- 手机有时触摸失灵解决方法
热门文章
- Fiddler抓部分app时网络连接失败
- Auto.js Pro安卓免ROOT引流脚本开发系列教程23网易公开课(1)-前言
- 组播域GNS3与eNSP桥接以及GNS3的使用教程
- html实现音乐界面设计,基于HTML5技术的音乐播放器的设计与实现.doc
- ESP8266 alios things 自带 linkkitapp OTA 更新失败
- 用html css实现五角星,用CSS画五角星
- 新办的卡为什么显示无服务器,为什么插入卡后显示无服务,有时有有时又没有?...
- Chrome 浏览器如何截取整个页面
- IEC60870-5-101基本远动任务通信协议测试方法
- kswapd线程的前世今生