cocos2dx-lua

    xiaoxiao2023-03-25  6

    以下是在cocos2dx-3.10、win7、Cocos Code IDE1.2下 假定你已经配置好了cocos2dx的环境。 1.修改源代码步骤 (1)在Cocos/Cocos2d-x/cocos2d-x-3.10/extensions/assets-manager/中修改了源代码 AssetsManagerEx.h AssetsManagerEx.cpp Manifest.h Manifest.cpp (2)在Cocos/Cocos2d-x/cocos2d-x-3.10/cocos/scripting/lua-bindings/auto/中修改 lua_cocos2dx_extension_auto.cpp 直接查找 lua_cocos2dx_extension_AssetsManagerEx_create 在当前路径的api中修改 AssetsManagerEx.lua (3)在Cocos/Cocos2d-x/cocos2d-x-3.10/cocos/js-bindings/auto/中修改 jsb_cocos2dx_extension_auto.cpp 直接查找 js_cocos2dx_extension_AssetsManagerEx_create 注意:我们是使用(4)中的cocos命令重新生成预编译文件的,若你修改的函数是与Lua相关的,   那么你同时要修改js相关的代码,否则会导致(4)生成预编译库失败。 (4)生成预编译库 设置你的环境变量 COCOS_CONSOLE_ROOT D:\Cocos\Cocos2d-x\cocos2d-x-3.10\tools\cocos2d-console\bin 在win7上打开命令行工具。 选输入以下确定你可以使用cocos: cocos -h 然后,根据你电脑的情况输入: cocos gen-libs -p win32 --vs 2013 -m debug 注意:cocos gen-libs的语法可到以下网址查看 http://www.cocos2d-x.org/wiki/Cocos_gen-libs -e后加引擎路径 -p后加:ios, mac, android, win32     若同时多个 -p ios -p android -m后加:debug, release --vs后加:2013,2015  默认自动查找合适的vs版本 --appabi后加:x86, armeabi, armeabi-v7a  默认armeabi,若同时多个 armeabi:x86 生成android的预编译库: cocos gen-libs --vs 2013 -p android 注意:请查看你的环境变量,比如你设定了 COCOS_CONSOLE_ROOT D:\Cocos\frameworks\cocos2d-x-3.8\tools\cocos2d-console\bin 那么在没有指定引擎路径时,就会使用这个环境变量指定的地址中的 D:\Cocos\frameworks\cocos2d-x-3.8作为引擎路径。 此时,若我使用以下命令编译 cocos gen-libs -p win32 --vs 2013 -m release 编译成功后,会在Cocos/frameworks/cocos2d-x-3.8/prebuild/win32下生成新的预编译文件。 cocos2dx引擎自带的预编译文件是release的,若你想生成debug的,只需要执行如下: cocos gen-libs -p win32 --vs 2013 -m debug 使用以上命令,不管是release、debug都会覆盖原来的prebuild/win32下的文件,请注意保存文件。 2.在Cocos Code IDE中调试 2.1.若你选择是用Framework Mode,则你在Cocos Code IDE中运行的模拟器都是使用的是frameworks下的代码, 若你想在这里使用修改了源代码的函数,那你就要对frameworks下的代码做以上同样的修改和编译。 注意:Cocos Code IDE1.2中使用Engine Mode会提示“未在cocos2dx目录下找到cocos console”。 我们需要执行以下步骤(与上面的步骤相同): (1)在Cocos/frameworks/cocos2d-x-3.8/extensions/assets-manager/中修改了源代码 AssetsManagerEx.h AssetsManagerEx.cpp Manifest.h Manifest.cpp (2)在Cocos/frameworks/cocos2d-x-3.8/cocos/scripting/lua-bindings/auto/中修改 lua_cocos2dx_extension_auto.cpp 直接查找 lua_cocos2dx_extension_AssetsManagerEx_create 在当前路径的api中修改 AssetsManagerEx.lua (3)在Cocos/frameworks/cocos2d-x-3.8/cocos/scripting/js-bindings/auto/中修改 jsb_cocos2dx_extension_auto.cpp 直接查找 js_cocos2dx_extension_AssetsManagerEx_create (4)生成预编译库 同1中的(4) 2.2.修改引用库 (1)在Cocos Code IDE/configuration/org.eclipse.osgi/bundles/61/1/.cp/resource下创建 cocos2dx-3.8文件夹,仿照同目录的cocos2dx-3.2, 将Cocos/frameworks/cocos2d-x-3.8/cocos/scripting/lua-bindings/auto中的api文件夹压缩为api.zip 并创建一个cocos2dx-3.8.rockspec文件,内容仿照cocos2dx-3.2下的cocos2dx-3.2.rockspec。 (2)选中项目名字,右击鼠标,在弹出菜单中选"属性",在属性窗口选Lua,再选Build Path, 在右侧选Libraries,可以在右侧区域看到如下: Cocos2dx 3.2 Lua5.1 默认Cocos Code IDE使用Cocos2dx 3.2作为Lua的库,这也是在做了以上修改源代码的操作,并重新编译, 运行项目却发现修改的函数没有起效的原因。 将Cocos2dx 3.2删除,点击"Add Libraries",点击"下一步",在弹出窗口点击“Configure”,在弹出窗口 点击"New",在弹出窗口输入Cocos2dx 3.8,点击“确定”,然后再点击"Add ZIPs",会直接打开(1)中我们 创建的位置,选择api.zip,点击“确定”,点击“完成”。 可以在右侧区域看到如下: Cocos2dx 3.8 Lua5.1 用同样的方法可以创建Cocos2dx 3.10的库。 2.3.调试项目 (1)创建Cocos Lua项目 点击Cocos Code IDE1.2的“文件”,点击“新建”,点击“项目”,在弹出窗口点击“Cocos Lua工程”, 点击“下一步”,设置项目名字,点击“完成”。 (2)创建模拟器 点击Cocos Code IDE1.2顶部快捷功能菜单中的“构建模拟器”按钮,在弹出窗口点击"下一步",再点击 “构建win32模拟器”,点击“生成”。 成功后,会在项目目录下创建一个simulator/win32目录,其下会有一个以你项目命名的exe文件,这就 是你的win32模拟器。另外,此目录下还有一些dll文件,这些dll文件就是从 Cocos/frameworks/cocos2d-x-3.8/prebuilt/win32下拷贝过来的。 (3)以win32 支持断点运行项目 在MainScene.lua中的MainScene:onCreate()中调用你修改过的函数,并打断点。 点击Cocos Code IDE1.2顶部快捷功能菜单中的“win32 支持断点”按钮。 按F5按钮进行单步调试,若你调用的函数有错误,就会报错。 若没有错误,会显示cocos2dx的默认logo。 此外,在frameworks/runtime-src/proj.win32下会生成一个Debug.win32文件夹,其中包含了从 Cocos/frameworks/cocos2d-x-3.8/prebuilt/win32下拷贝过来的预编译库。 ====================================== 以下是在cocos2dx-3.9、mac下 1.查看环境变量: 打开终端,输入  vim .bash_profile 确定有如下的配置: export COCOS_CONSOLE_ROOT=/Applications/Cocos/frameworks/cocos2d-x-3.9/tools/cocos2d-console/bin 2.修改源代码步骤 (1)在Cocos/frameworks/cocos2d-x-3.9/extensions/assets-manager/中修改了源代码 AssetsManagerEx.h AssetsManagerEx.cpp Manifest.h Manifest.cpp (2)在Cocos/frameworks/cocos2d-x-3.9/cocos/scripting/lua-bindings/auto/中修改 lua_cocos2dx_extension_auto.cpp 直接查找 lua_cocos2dx_extension_AssetsManagerEx_create 在当前路径的api中修改 AssetsManagerEx.lua (3)在Cocos/frameworks/cocos2d-x-3.9/cocos/scripting/js-bindings/auto/中修改 jsb_cocos2dx_extension_auto.cpp 直接查找 js_cocos2dx_extension_AssetsManagerEx_create 3.生成预编译库 打开终端,输入以下,确定你可以使用cocos: cocos -h 然后输入: cocos gen-libs -p ios -m release 成功生成后,在Cocos/frameworks/prebuilt/ios下会生成: libcocos2d iOS.a libjscocos2d iOS.a libluacocos2d iOS.a libsimulator iOS.a 生成android的预编译库: cocos gen-libs -p android -m release 生成mac的预编译库: cocos gen-libs -p mac -m release
    转载请注明原文地址: https://ju.6miu.com/read-1203757.html
    最新回复(0)