常用调试技巧系列初级篇
本文由按键学院提供技术支持
按键学院交流①群(1群已满):376122403
按键学院交流②群(2群):372671254
按键学院交流③群(3群):170084238
不管是自己写代码还是学习他人代码总有用到调试功能的时候,特别对于一些初学按键的新手来说,往往好不容易写了一段调试语法无错的代码出来。实际运行过程中愣是发现不了自己写的脚本到底错在哪个环节了,如果此时知道一些代码调试上的技巧那么将节省很多时间,因此小编打算出一个系列的关于脚本调试的小技巧和方法,今天就跟大家介绍一下最简单也是比较常用的几种调试方法 |
[tr=rgb(154, 205, 50)]看输出信息
|
- 您所在的用户组无法下载或查看附件
[tr=rgb(154, 205, 50)]小代码实例
|
比如下方的代码,思路是不断重复执行找色命令A在目标范围内找色,找到后则继续执行找色命令B,命令B找到颜色之后
修改canshu1变量为0,使循环条件不成立,从而退出循环。如果在调试此代码的时候发现循环一直在进行,如何判断是哪
个命令出了问题导致无法退出循环呢?
- Dim canshu1
- canshu1 = 1
- Do
- //找色命令A
- FindColorEx 0,0,1024,768,"3AF7B9",0,0.9,intX,intY
- If intX > 0 And intY > 0 Then
- Delay 100
- //找色命令B
- FindColorEx 0,0,1024,768,"000DBA",0,0.9,intX,intY
- If intX2 > 0 And intY2 > 0 Then
- canshu1 = 0
- End If
- End If
- Delay 200
- Loop While canshu1 = 1
复制代码 方法一、使用“变量查看”功能配合单步调试功能1.刚才的代码,在进入调试状态后,我们在变量查看窗口中从上到下依次设置两个找色命令的输出值:intX、intY、intX2、intY2。
- 您所在的用户组无法下载或查看附件
2.点击单步或者步过按钮,多点几下会发现一个深SE块背景在编辑框内移动,没错,此色块就是指示代码运行到此处了。
- 您所在的用户组无法下载或查看附件
3.当运行过命令A之后能看到intX跟intY的值变了。
- 您所在的用户组无法下载或查看附件
从变量值来看可以得知命令A找色成功并且成功得到坐标265,14
4、继续点击单步或步过按钮,当运行过命令B之后发现intX2跟intY2的值也变了。
- 您所在的用户组无法下载或查看附件
intX2跟intY2的值都为-1,说明命令B找色失败,从而可以对症下药,修改命令B内的找色范围、颜色值或者相似度来解决找不到颜色的问题。
方法二、加入输出语句输出信息
还是上面的代码,此时可以在相关判断语句中使用TracePrint 调试输出语句来提示语句运行结果:- Dim canshu1
- canshu1 = 1
- Do
- //找色命令A
- FindColorEx 0,0,1024,768,"3AF7B9",0,0.9,intX,intY
- If intX > 0 And intY > 0 Then
- TracePrint "命令A找到颜色"
- Delay 100
- //找色命令B
- FindColorEx 0,0,1024,768,"000DBA",0,0.9,intX2,intY2
- If intX2 > 0 And intY2 > 0 Then
- TracePrint "命令B找到颜色"
- canshu1 = 0
- Else
- TracePrint "命令B找色失败"
- End If
- Else
- TracePrint "命令A找色失败"
- End If
- Delay 200
- Loop While canshu1 = 1
- Dim canshu1
- canshu1 = 1
复制代码 运行上面代码之后
- 您所在的用户组无法下载或查看附件
我们可以从调试信息中了解到找色命令A找到颜色,而找色命令B找色失败了,知道了这个就可以修改命令B内的参数,从而解决命令B找不到颜色的问题。
[tr=rgb(154, 205, 50)]其他输出语句 |
注意:traceprint语句是在脚本内部(也就是做成小精灵后看不到输出的信息)输出,其他语句都是在脚本外部显示的,也就是做成小精灵后仍然能看到,其他语句一个个写的话比较麻烦,咱们以屏幕输出—ShowScrTXT命令为例,推荐把它封装成函数,需要的时候直接调用下就好了
- Function 写屏(内容)
- Call Plugin.Msg.ShowScrTXT(0, 0, 1024, 300, 内容, "0000FF")
- End function
- Call 写屏("执行找点A命令")
复制代码今天这期只是跟大家简单介绍了下利用输出信息来调试脚本,相信对新手会有一定帮助,下一期我们会跟大家分享下利用写入命令、日志等对脚本运行状态做记录的几种方法,另外调试时常出现的几种错误可以参考
【院刊】-【201408期】调试三天,气到吐血的【代码常见错误】
院刊总目录
谢谢大家阅读,既来之则请回复之 ! 顺手点个赞
[tr=rgb(143, 188, 143)] | 按键精灵免费公开课 | 实战班:回合制通用教学火热报名 |
【听课对象】:对按键精灵感兴趣的同学们都可以来~ 【上课地点】:零基础学按键精灵群(372671254) 【上课时间】:周天晚上19:30-21:00 【上课内容】:按键精灵脚本基础经验谈——图色命令
| 本期重点:回合制游戏--神武 学习时效:终生有效 上课时间:周2、周4、周6的 20:00--22:00 导师:工程师07 技术支持:果儿(院刊编辑) |
点我进入按键学院报名啦 招生细节进群咨询招生办主任:2群-372671254(优先加入) 1群-376122403
|