如何使用Cocos Code IDE调试Lua开发的游戏

支持调试的环境

在 Windows 上你可以调试Windows和Android游戏,在 Mac 上你可以调试Mac、iOS和Android游戏。我们以 Mac 作为开发环境来演示 Code IDE 的使用,Windows上的流程和这里所介绍的几乎一样,不再赘述。


先决条件

如果你还没有安装Cocos Code IDE,请参考《如何安装和设置Cocos Code IDE


IDE配置

基础设置

打开工具的 Preferences 页,切换到 Cocos/Lua 子页面,选择你刚刚下载的 Cocos2d-x 3.x 作为 Lua Framework。

lua_cocos_preferences.png

额外设置

假设你发现我们提供给你的预编译的Android runtime不能满足你的要求,你就需要重新定制,那么你就需要提供给 IDE 几个 Android 编译需要用到的工具。这可以通过打开 Preferences/Cocos 页面进行配置。

cocos_preferences.png

运行、测试游戏

1. 新建一个名为 CocosLuaGame 的 Cocos Lua 工程

2. 点击工具栏上的Debug按钮

1405993221984528.png


3. 默认情况下脚本会运行在我们提供的 Mac 版本预编译 runtime 上。为了简单起见,我们不对默认值进行任何改动。如果你想要在其他我们支持的目标平台上调试程序,可参考下文的“在其它目标平台上调试”


如何调试

断点支持

  • 可以在 Lua 脚本文件中增加断点

  • 当断点被触发时选择 "Yes" 打开 Debug Perspective 透视图,可以看到很多与调试相关的视图,调用栈、变量和断点等等

lua_breakpoint.png


  • 支持 Step over, Step into, Step out 等调试方式


代码热更新

对 spriteDog 的移动路线很不爽?tick() 函数是控制每一帧 spriteDog 位置的。

1
2
3
4
5
6
7
8
9
10
11
12
-- moving dog at every frame
local function tick()
     if  spriteDog.isPaused then  return  end
     local x, y = spriteDog:getPosition()
     if  x > origin.x + visibleSize.width then
         x = origin.x
     else
         x = x + 1
     end
  
     spriteDog:setPositionX(x)
end

修改这个函数的实现,比如将 x = x + 1 修改为 x = x + 10,之后保存。 你会发现,在没有重启 runtime 的情况下 spriteDog 的移动速度改变了


在其他目标平台上调试

1. 通过工具栏上的打开 Debug Configurations 打开 Debug Configurations 页面

lua_config_button.png

2. 在页面的左侧,选择之前我们为你创建的名为CocosLuaGame的configuration


在 iOS Simulator 上调试

  • 选择 iOS Simulator 单选项

  • 选择正确的 runtime app

1407901815720386.png

  • 点击 Debug 按钮,预编译的 runtime 会被自动安装到模拟器中


在iOS设备上调试

  • 首先,你需要一个 runtime IPA, 从 1.0.0-rc1 版本开始,你可以通过 Code IDE 自己编译一个,然后安装IPA到设备中

  • 在 iOS 设备上启动 runtime

  • 在 "Debug Configuration" 界面选择 Remote Debug 单选项

  • platform 选择 "iOS"

  • 将设备的 ip 地址填写在 Device IP 上并在Host IP上选择 mac 机器使用的 ip 地址, 请确保设备ip和mac机器的ip能相互访问

1407913721629789.png

  • 最后点击Debug按钮


在 Android 设备上使用 ADB 模式调试

  • 在 "Debug Configuration" 界面选择 Android ADB Mode 单选项

  • 选择正确的 runtime apk

1407913818373645.png

  • 点击Debug按钮

  • IDE 会自动安装配置中的 runtime apk 到你的连接设备上并启动runtime开始调试


在Android设备上使用网络模式调试

  • 手动安装 runtime 到你的设备上,它被存放在 CocosLuaGame/runtime/android 目录中

  • 手动启动 runtime,停留在 waiting 页面

  • 在 "Debug Configuration" 界面选择 Remote Debug 单选项

  • platform 选择 "Android"

  • 将设备的 ip 地址填写在 Device IP 上并在Host IP上选择 mac 机器使用的 ip 地址, 请确保设备ip和mac机器的ip能相互访问

1407913866695814.png

  • 点击Debug按钮


如何调试 C++ 代码

从 1.0.0-rc1 版本开始,支持使用 XCode/Visual Studio 调试 C++ 代码的同时使用 Cocos Code IDE 调试 C++ 代码。

以调试 Mac 为例:

  • 如果你还没有 C++ 代码,那么需要先添加(右击工程,Cocos Tools->Add Native Codes Support...)

  • 使用 XCode 打开 frameworks/runtime-src/proj.ios_mac 工程,并启动调试

  • 回到 Cocos Code IDE,打开 "Debug Configuration" 页面,选择 Remote Debug 单选项

  • platfrom 选择 “Mac”

  • Target IP 填写 "127.0.0.1"

  • Host IP 选择 "127.0.0.1"

1407913926110281.png

  • 点击Debug按钮

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值