前言
上一次折腾cocos2d-x还是大一的时候,计算机基础也没有,就会几句C语言,最后迷迷糊糊的弄出来个打砖块的游戏,还颇为自得。然而,如今的”内功“高了很多,以前的很多迷雾也揭开了,再来琢磨它就从容多了。
我想引用下知乎上萧井陌说过的一段话:
当你有了坚实的基础,这意味着你在之后更深入的学习中,不会畏惧那些学习新语言的任务,不会畏惧那些「复杂」的API,更不会畏惧学习具体的技术,甚至感觉很容易。
任何想做游戏(或者其他应用)的初学者,切记别忘了同时打好你的计算机基础,什么是基础,请阅读这篇文章。
cocos2d-x环境搭建
不得不说,相比起unity,cocos2d-x的开发者社区维护地很差,基本搜不到什么官方的教程,目前最好看的就是官方文档了。下载个最新的release,还得自己去摸索文件结构。
总之第一步就是去官网下载sdk包,然后在解压后的根目录下运行python setup.py
,就会设置好环境变量之类的。然后用cocos -h
试试。cocos这套命令行工具其实用着还凑合,不用去弄那些ide, creator的东西。用cocos new
来创建不同平台的不同语言绑定的项目。(这些起始步骤在它目录下的README文件里也有写)
然后,创建一个lua项目,默认是不显示控制台窗口的,你需要在\frameworks\runtime-src\proj.win32\main.cpp
中加入这些语句才行。
#define USE_WIN32_CONSOLE
#ifdef USE_WIN32_CONSOLE
AllocConsole();
freopen("CONIN$", "r", stdin);
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
#endif
#ifdef USE_WIN32_CONSOLE
FreeConsole();
#endif
然后,编译运行。至此,你可以不用管那些c++文件了,可以用lua去写所有的游戏逻辑。(至少samples里的项目都可以)
修改lua文件之后,用cocos run
太慢了,因为得调用VS命令行工具去编译,运行。其实整个过程也就干了一件事,就是把src文件夹拷贝到模拟器的src文件夹里去了。于是我写了个命令,这条命令会把修改了的文件复制到模拟器的src里去。然后你运行模拟器里的exe文件就行了。
xcopy /Y /E /D .\src .\simulator\win32\src\
编辑lua代码,我是用Vscode,有相应的代码提示插件。至于lua代码的编译错误提示,我还没找到一个好的解决方案。