cocos2dx lua 调试

2015年03月06日 16:56 0 点赞 0 评论 更新于 2025-11-21 16:45

在 Cocos2d-x 3.2 版本中,对 Cocos Code IDE 的支持已经相当出色。不过,相较于 Sublime,Cocos Code IDE 在使用体验上可能不够顺手。虽然 Cocos Code IDE 支持创建 Lua 项目,但默认创建的项目不支持自定义原生代码,下面为你介绍解决办法。

开源的好处就在于我们可以灵活定制。我们可以从模板中提取相关的所有 C++ 代码并添加到项目中。具体路径如下:

  • cocos2d-x-3.2/templates/lua-template-runtime
  • runtime-src/Classs 以及 runtime-src/win32

另外,这里有一个 config.json 文件。在使用 Lua 开发的情况下,其实更期望能用 Lua 来完成相关配置,这个文件显得有些多余。

在项目构建方面,无论是手动创建项目还是其他情况,需要补充以下两个宏才能正常编译:

GLFW_EXPOSE_NATIVE_WIN32
GLFW_EXPOSE_NATIVE_WGL

值得一提的是,Cocos2d-x 在 Linux 环境下使用 CMake 进行编译,然而在 Windows 环境下却不支持,这不得不说是一种遗憾,毕竟 CMake 是非常优秀的构建工具。

在调试时,还有一个关键的注意事项。要记得去掉 AppDelegate.cpp 中的 executeScriptFile(src/main.lua) 语句。因为 SimulatorWindow 会先加载某个场景,如果提前加载了 main.lua,后续调试支持的场景会覆盖你期望调试的场景。

调试界面的“Start”按钮会重新加载 src/main.lua。通常情况下,src/main.lua 会负责加载登录界面。如果在之前已经加载过该文件,Lua 不会再次加载,这就会导致登录界面无法显示。不过,如果是通过其他 Lua 文件使用 require 加载的,再次调用 executeScriptFile 则不会出现这个问题。

作者信息

boke

boke

共发布了 3994 篇文章