目前为止,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)"
目前更改就暂时这些了。