都2020年了,才入坑cocos2dx。cocos creater不香么,没办法,项目是老项目啊。话不多说,新手记录下自己在安装的过程中遇到的坑。
1.安装环境:
环境:
安装过程中用到的 cocos2d-x-3.17.1,vs2017,python2.7,babelua for 2017,cocos2dx-3.12-api.lua,lua
说明:
cocos2d-x-3.17.1,vs2017,python2.7官网下载。其中python一定是要2.7版本。babelua网盘链接:BabeLuaFor2017。cocos2dx-3.12-api.lua是写lua代码提示所用。api网盘链接:Api提示
2.安装顺序以及遇到问题:
1.vs2017(略过)
2.python2.7(改变默认版本)
这个遇到的问题主要是双版本问题。在cmd命令下输入python查看默认安装版本。我之前默认的是3.7。把3.7安装目录下的python.exe文件改成python3.exe。python2.7安装目录下安装的.exe文件改为python.exe就行了。其实这也是可以作为区别使用2。7版本和3.7版本的方法
3.lua安装(按照菜鸟教程安装)
4.cocos2d-x-3.17.1
这个就是解压安装,用python执行setup.py文件就行了。没遇到问题。提示android的SDK,NDK,ANT,环境变量和目录的设置,不用管,直接回车。其实这一步就是自动帮你设置了一下cocos2dx的环境变量,让你可以在cmd的根目录运行cocos命令的。如果你需要打包Apk上述的环境也还是要配置下的。在cmd中输入cocos检测是否安装成功。
5.babelua for 2017
下一步下一步,和安装软件一样。不过记住安装目录。下一步要用。
6.cocos2dx-3.12-api.lua
把下载的cocos2dx-3.12-api.lua文件放到BabeLua的Completion文件夹下,如图:
3.创建新工程遇到的问题
创建新项目指令:cocos new HelloWorld(项目名称)-p com.test.www(包名字)-l lua(项目类型) -d 项目路径
创建成功后,simulator这个文件夹是没有的,必须在HelloWorld\frameworks\runtime-src\proj.win32文件夹下打开HelloWorld.sln,vs工程并编译。编译后就会生成simulator。必须要先编译。可以理解为编译后的.exe文件才会给Lua工程所有文件提供入口。才会把Lua工程和c++底层关联起来。
如果你的BabeLuaan安装成功,在Vs工具栏上会有如下按钮:
问题1:vs编译过程中提示过期,或者编译成功后一堆报错
问题2:新建Lua项目
1.点击Lua插件。创建新Lua项目
2.选择New Lua Project。Command line,这里我也不知道啥意思,后面会研究下。我没有配置这个的时候启动项目是黑屏状态的。
3.创建成功的Lua工程
问题3:调试的时候不能断点。
解决方案:首先搜索整个解决方案找到main.cpp文件。如下添加代码,不然项目属性里没有c++预定义
AllocConsole();
freopen("CONIN$", "r", stdin);
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
#endif
#include "main.h"
#include "SimulatorWin.h"
#include
int WINAPI _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
#ifdef USE_WIN32_CONSOLE
AllocConsole();
freopen("CONIN$", "r", stdin);
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
#endif
auto simulator = SimulatorWin::getInstance();
return simulator->run();
}
然后,点击你的解决方案属性,配置COCOS2D_DEBUG和CC_CODE_IDE_DEBUG_SUPPORT是两个预编译参数。
COCOS2D_DEBUG表示是否支持断点调试,默认为1,CC_CODE_IDE_DEBUG_SUPPORT表示是否支持在cocos Code IDE中断点调试并输出print等lua语言的调试信息,默认值为0,如果你需要在cocos Code IDE中调试的话或者想在控制台看到我们自己输出的hello world的话,需要把这个值改为1。
添加好以后项目就可以断点了