前面有说到搭建lua环境并创建好了cocos的lua项目,这篇主要说说我对lua项目自带的demo和替换自己的项目的学习方法和碰到的问题!这个项目是看慕课网徐波老师的贪吃蛇做的练习项目!里面碰到各种坑
创建玩项目,配置好lua脚本后,我内心是崩溃的,对于我这个刚接触游戏用c++写了几个小游戏的小白来说。看到mvc时的无从下手,知识的浅薄是多么的要人命啊!
看看!
根据以往的经验首先确定main.lua文件是入口文件,没估计的错!
那就找MyApp.lua吧
再接着找呗,mvc文件下的AppBase.lua
继续.......................................
这个才是demo的展示场景!汗一个
那就先不了,再MainScene.lua的同级目录下新建自的TitleScene文件吧
代码里面加了个背景和按妞,并添加了按钮的点击事件
这里先说说碰到的坑,首先在vs里面,你虽然改变入口函数调用的场景
点击本地调试,见证奇迹的时刻到了。当当当当,没有丝毫改变,对我这小白的打击太大了
根据慕课网徐波老师的在项目的这个地址打开项目的.exe文件
打开后。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
虽然打开了,但是这不是我要的呀!
于是上网各种找,总算找到了
打开项目-win32 main.cpp
把现有的代码全部替换成
#include "main.h"
#include "SimulatorWin.h"
#include
int WINAPI _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
auto simulator = SimulatorWin::getInstance();
return simulator->run();
}
#include "main.h"
#include "SimulatorWin.h"
#include "AppDelegate.h"
#include
USING_NS_CC;
#define USE_WIN32_CONSOLE
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();
AppDelegate app;
int ret = Application::getInstance()->run();
#ifdef USE_WIN32_CONSOLE
FreeConsole();
#endif
return ret;
}
不要问我为什么,我也不知道,就知道换了以后效果就是这样的,可以直接在vs里面运行了
点击开始按钮,也打印出来了写的代码的信息了,到这里总算是替换成自己的写的场景了。这里我说下我为什么跟着老师也走这么多的弯路。
因为老师的教程用的还是cocos2dx-lua引擎,而现在的cocos2dx 3.17把c++、lua、js引擎合并了,这也是我现在看教程学习遇到的最大难题,生成demo都是不一样的,对小白学起来真的是很费力。
今天就解决了这么点事情,就记录这么点了。
接着会把我跟写贪吃蛇遇到的所有问题都记录下来。一是加深记忆,好记性不如烂笔头。二就是希望看到这日记的朋友少走弯路。谢谢您的阅读!