• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[技术交流] 【院刊】-【201505期】常用调试技巧系列初级篇 [复制链接]

1#

常用调试技巧系列初级篇



本文按键学院提供技术支持



按键学院交流①群(1群已满):376122403

按键学院交流②群(2群):372671254

按键学院交流③群(3群):170084238


不管是自己写代码还是学习他人代码总有用到调试功能的时候,特别对于一些初学按键的新手来说,往往好不容易写了一段调试语法无错的代码出来。实际运行过程中愣是发现不了自己写的脚本到底错在哪个环节了,如果此时知道一些代码调试上的技巧那么将节省很多时间,因此小编打算出一个系列的关于脚本调试的小技巧和方法,今天就跟大家介绍一下最简单也是比较常用的几种调试方法

[tr=rgb(154, 205, 50)]
看输出信息

您所在的用户组无法下载或查看附件




[tr=rgb(154, 205, 50)]
小代码实例


比如下方的代码,思路是不断重复执行找色命令A在目标范围内找色,找到后则继续执行找色命令B,命令B找到颜色之后

修改canshu1变量为0,使循环条件不成立,从而退出循环。如果在调试此代码的时候发现循环一直在进行,如何判断是哪

个命令出了问题导致无法退出循环呢?

  1. Dim canshu1
  2. canshu1 = 1
  3. Do
  4. //找色命令A
  5. FindColorEx 0,0,1024,768,"3AF7B9",0,0.9,intX,intY
  6. If intX > 0 And intY > 0 Then
  7. Delay 100
  8. //找色命令B
  9. FindColorEx 0,0,1024,768,"000DBA",0,0.9,intX,intY
  10. If intX2 > 0 And intY2 > 0 Then
  11. canshu1 = 0
  12. End If
  13. End If
  14. Delay 200
  15. 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 调试输出语句来提示语句运行结果:

  1. Dim canshu1
  2. canshu1 = 1
  3. Do
  4. //找色命令A
  5. FindColorEx 0,0,1024,768,"3AF7B9",0,0.9,intX,intY
  6. If intX > 0 And intY > 0 Then
  7. TracePrint "命令A找到颜色"
  8. Delay 100
  9. //找色命令B
  10. FindColorEx 0,0,1024,768,"000DBA",0,0.9,intX2,intY2
  11. If intX2 > 0 And intY2 > 0 Then
  12. TracePrint "命令B找到颜色"
  13. canshu1 = 0
  14. Else
  15. TracePrint "命令B找色失败"
  16. End If
  17. Else
  18. TracePrint "命令A找色失败"
  19. End If
  20. Delay 200
  21. Loop While canshu1 = 1
  22. Dim canshu1
  23. canshu1 = 1
复制代码
运行上面代码之后

您所在的用户组无法下载或查看附件


我们可以从调试信息中了解到找色命令A找到颜色,而找色命令B找色失败了,知道了这个就可以修改命令B内的参数,从而解决命令B找不到颜色的问题。


[tr=rgb(154, 205, 50)]
其他输出语句

注意:traceprint语句是在脚本内部(也就是做成小精灵后看不到输出的信息)输出,其他语句都是在脚本外部显示的,也就是做成小精灵后仍然能看到,其他语句一个个写的话比较麻烦,咱们以屏幕输出—ShowScrTXT命令为例,推荐把它封装成函数,需要的时候直接调用下就好了

  1. Function 写屏(内容)
  2. Call Plugin.Msg.ShowScrTXT(0, 0, 1024, 300, 内容, "0000FF")
  3. End function
  4. Call 写屏("执行找点A命令")
复制代码

[tr=rgb(154, 205, 50)]
后记

今天这期只是跟大家简单介绍了下利用输出信息来调试脚本,相信对新手会有一定帮助,下一期我们会跟大家分享下利用写入命令、日志等对脚本运行状态做记录的几种方法,另外调试时常出现的几种错误可以参考


【院刊】-【201408期】调试三天,气到吐血的【代码常见错误】


院刊总目录


 



谢谢大家阅读,既来之则请回复顺手点个


[tr=rgb(143, 188, 143)]

按键精灵免费公开课

实战班:回合制通用教学火热报名

【听课对象】:对按键精灵感兴趣的同学们都可以来~
【上课地点】:零基础学按键精灵群(372671254)
【上课时间】:周天晚上19:30-21:00
【上课内容】:按键精灵脚本基础经验谈——图色命令

本期重点:回合制游戏--神武
学习时效:终生有效
上课时间:周2、周4、周6的 20:00--22:00
导师:工程师07
技术支持:果儿(院刊编辑)
点我进入按键学院报名啦 招生细节进群咨询招生办主任:2群-372671254(优先加入) 1群-376122403


    已有4评分我要评分查看所有评分

    本主题由 超级版主 瑞祥幽冥狼 于 2023/7/16 16:12:11 执行 审核帖子 操作
    按键学院免费交流群:376122403

    按键学院招生计划
    按键学院系统教程
    2#

    分算法

    3#

    hjkllhjlkhjk

    4#

    一下课吗啊

    5#

    66666666666666666

    6#

    怎么实现

    7#

    54819+12

    8#

    万恶的回复

    [url][url=http://bbs.anjian.com/thread-576954-1-1.html]<strong><font size="4">按键精灵14周年庆典火热进行中!点击
    9#

    qqwwwwwwwwwwwwwwwwwwwwwww

    10#

    Tfffffffffff

    11#


    12#

    学学嘻嘻

    13#


    14#

    调试看看。。

    15#

    感谢,又学习了

    16#

    123213213

    17#

    如何调试

    18#

    看,xuex

    代做小脚本QQ170154070
    19#

    好得很呀

    20#

    先看看

    发新话题 回复该主题