目前为止,quickcocos2d-x没有3.8版本,想用3.8又想用quick,所以只能自己升级了,自己先记录下,防止忘记。

cocos2d-x3.8里面有quick framework,而simulator可以暂时代替quick的player,所以就暂时先用simulator。

用3.8新建一个lua工程,然后到目录frameworks\runtime-src\proj.win32用vs打开工程编一个simulator,编之前先更改 SimulatorWin.cpp文件的一个参数

#if (CC_CODE_IDE_DEBUG_SUPPORT > 0)
#define SIMULATOR_WITH_CONSOLE_AND_MENU 1
#else
//SIMULATOR_WITH_CONSOLE_AND_MENU 先默认设为1
#define SIMULATOR_WITH_CONSOLE_AND_MENU 1
#endif

原因是我需要控制台看log,CodeIDESupport.h这个文件里可以修改CC_CODE_IDE_DEBUG_SUPPORT的值,从这里改的话会有问题,重启编出来的simulator按F5刷新会找不到项目目录,这个目录应该是可以设置的,但是我没找到,这个simulator貌似是给cococs ide用的,现在ide也不支持了,所以暂时不管这里。

要使旧的lua项目能在新的模拟器上跑起来,还要修改其他东西:

MyApp.lua和AppBase.lua都做了相应的修改

由于3.8版本部分api的废弃,所以要替换掉废弃的api。

旧的lua项目的触摸事件是用quick自己的触摸事件,想到以后可能还有升级,而官方好像也不打算维护quick了,而且quick的触摸机制有bug,所以打算改用cocos2d-x原生的触摸事件,便于以后升级。

新的模拟器的读取lua的工作路径有所更改,右键工程-》属性-》配置属性-》调试

命令参数由原来的-workdir $(ProjectDir)../../../

改为$(OutDir)../../../../simulator/win32

新模拟器编好时会从工程目录里的根目录里复制src和res两个文件夹到输出目录里去,我不需要可以去掉

工程右键-》属性-》配置属性-》自定义生成步骤-》命令行,原命令行的命令为:

if not exist "$(LocalDebuggerWorkingDirectory)" mkdir "$(LocalDebuggerWorkingDirectory)"
xcopy /Y /Q "$(OutDir)*.dll" "$(LocalDebuggerWorkingDirectory)"
xcopy /Y /Q "$(ProjectDir)..\Classes\ide-support\lang" "$(LocalDebuggerWorkingDirectory)"
xcopy "$(ProjectDir)..\..\..\res" "$(LocalDebuggerWorkingDirectory)\res" /D /E /I /F /Y
xcopy "$(ProjectDir)..\..\..\src" "$(LocalDebuggerWorkingDirectory)\src" /D /E /I /F /Y

现去掉后两行改为:

if not exist "$(LocalDebuggerWorkingDirectory)" mkdir "$(LocalDebuggerWorkingDirectory)"
xcopy /Y /Q "$(OutDir)*.dll" "$(LocalDebuggerWorkingDirectory)"
xcopy /Y /Q "$(ProjectDir)..\Classes\ide-support\lang" "$(LocalDebuggerWorkingDirectory)"

目前更改就暂时这些了。

05-08 08:15