cocos2d-x 血泪史(0) 搭建环境 (只是可以开始写code 看到hello world 粗线的环境)
开发环境的搭建是必不可少的,这里就先说vs2010express + cocos2d-x-2.2.1 的吧~ 因为目前的东西还没做好,那么还没开始往eclipse 上移植成android 版,只是下了个adk 什么的,根据网上的各种教程尝试了下移植以各种复杂蛋疼只做到了把android app 转换成c++ app,然后暂时先放放把引擎里面的东西弄熟再说吧。。。
好的,首先!!! 要准备个cocos2d-2.1rc0-x-2.1.3 这个版本,因为cocos2d-x-2.2.1 版本或者之后的各种版本里面貌似没有vs project template,不能创建所谓的cocos2d-x project 的话还怎么玩!
把cocos2d-2.1rc0-x-2.1.3 下下来解压到某位置,可以放到“马克思主义哲学学习” 之类的文件夹以防找不到,当然cocos2d-x-2.2.1 下下来解压到根目录,为啥是根目录乜?嗯。。当然其他的纯英文路径(字母数字下环线组合)也是可以的,不要放到中文或者中间带空格的路径,为啥呢,因为之后运行各种命令的话会出问题,我会告诉你我移植成android 版的时候就遇到这种路径的问题了么?!
接下来把cocos2d-2.1rc0-x-2.1.3 里面template 文件夹里的msvc 文件夹拷贝到cocos2d-x-2.2.1 下对应目录 template\msvc
双击那个InstallWizardForVC2010Express.js 就可以了,如果你用的是其他版本vs,那执行对应的js,顺便说一下我用InstallWizardForVS2012.js 这个配合vs2012ultimate 的时候脚本执行成功但是在vs 里面创建project 失败,原因未知。。。。
之后vs 里就会出现
哈哈哈哈哈哈哈哈哈哈,创建完之后还有问题,build 失败了吧~哈哈哈哈哈哈哈哈哈哈
我的做法是把你解压的cocos2d-x-2.2.1 目录下的cocos2dx, CocosDenshion, external, extensions 这些文件夹拷贝到你创建的project 所在的solution 那个文件夹下面,就是*.sln 那个文件同级的目录,然后在solution 里面添加上这些project:
libBox2D: box2d 物理引擎,如果你在创建project 的那个wizard 里面勾选了box2d,那么把它加到solution 里吧。
libcocos2d: cocos2d-x 引擎
libCocosDenshion: 用来处理复杂的音效
libExtensions: 包含一些好用的UI 控件什么的
当然如果要引用他们的头文件,“additional include direcotries”里面得是这样的:
然后如果在创建wizard 的时候忘了勾选box2d 什么的,那么在Linker 里的additional dependencies 里面要加上他们的静态库:
嗯。。如果你的游戏里要用到这些的话,就加上吧,如果你是个和我一样的C++ 外行,而是玩.net 的,或者玩java 的,那么小小解释一下。
C++ 里面的库有静态库动态库,静态库可以通过引用静态库对应的*.h 文件然后指定各种目录(include dir, lib dir)之后写代码,就像.net 里面直接引用动态库之后看到动态库里的元数据一样,那些元数据就相当于这里的*.h 文件吧。C++ 引用动态库的话就蛋疼了,貌似是动态库要声明export 什么的吧,木有研究过不太清楚,然后使用的地方要做声明才能使用,就像c# 里面引用C++ 的动态库的时候用的DllImport 打标签的外部函数声明一样。
接下来build 吧,哈哈哈哈哈哈哈哈哈哈,成功了么,没有吧~
手动build 吧,右键libcocos2d 然后选择build,嗯,然后是libCocosDenshion, 然后是libExtensions 和libBox2D,最后是自己创建的那个project,哦了,没问题了。
话说这些是把下载的cocos2d 里面的几个文件夹拷贝到solution 里面然后逐个build 的,而且木有设置include directory 和lib directory,算是比较简单(无脑)的方法把啊哈哈哈哈哈哈哈~ 当然其实不这样做也是可以的,不过要多设置点东西。
下载的cocos2d 目录下面也有个build-win32.bat 的东西,运行一下会把里面那些proj 都给build 了。
最后还有cocos2d-x-2.2.1\samples\Cpp\HelloCpp 下面其实就是根据vs 的wizard 创建的hello world 一样的,但是有个问题是wizard 创建的是cocos2d-2.1rc0-x-2.1.3 这个版本的helloworld,引擎版本变了,helloworld 也变了,so把代码对照下更新下就行了,新版本增加了对多分辨率的支持,还是有必要加进来的。那么还有个问题就是这样每次wizard 创建的proj 都要这样改,这不是坑爹么!!摔!!!
其实也创建不了那么多project,如果真有需求那么改这里:cocos2d-x-2.2.1\template\msvc\CCAppWiz.win32\Templates\1033,里面的resources, classes 还有Templates.inf,看着改吧~ 好了,玩儿去吧您呐~