1、案例演示
文末有软件下载地址,以某游戏巡山为例,

2、工具介绍
2.1、应用场景
- 点击类型的游戏辅助
- 其它重复性鼠标键盘操作
- 少儿编程
2.2、界面介绍

2.3、脚本操作介绍
新增脚本后,选择脚本后,鼠标右键出来一个菜单,有如下几种操作

3、脚本操作
3.1、选择区域
3.1.1、简介
- 选择区域操作是全局的 ,一般在脚本最上面使用,选择区域后,该脚本的所有鼠标操作都是在这个区域里面进行的 。选择区域操作可以提升性能,不用每次在整个图片范围内搜索图片,当然针对现在个人电脑普遍配置过剩的情况下,其实也无所谓。
- 如果脚本里不使用选择区域,则所有鼠标操作是在整个屏幕内进行
3.1.2、使用起始图片确定范围
- 使用左上角 和右下角 两张图片确定一个范围
- 一般用于区域不绝对固定的情况下 ,也就是操作的区域会移动,比如:使用模拟器运行游戏,用户可能指不定把模拟器拖动屏幕的哪个位置
- 向左偏移表示相对于左上角的图片的左上那个点的位置,向左为正,向右为负,向左偏移后区域的右下同样会向右增大2倍的偏移量
- 向右偏移表示相对于左上角的图片的左上那个点的位置,向上为正,向下为负,向上偏移后区域的右下同样会向下增大2倍的偏移量
- 向左向右偏移一般用在,找不到合适的左上和右下的标志性的图片,则使用附近的图片加上偏移来确定范围

3.1.3、直接框选确定范围
直接框选常常用于操作的区域位置固定的情况下

3.2、鼠标操作
3.2.1、简介
鼠标操作有如下几种
- 单击鼠标左键
- 双击鼠标左键
- 单击鼠标右键
- 移动鼠标
- 鼠标滚轮滚动
所有鼠标操作都可以基于图片定位鼠标操作的位置,也可以直接基于绝对坐标定位位置
- 如果有选择图片,则向右偏移、向下偏移都是针对图片中心点的偏移
- 如果没有选择图片,则向右偏移、向下偏移都是针对屏幕左上角的原点进行的偏移
注意:每个操作新增后,右侧的配置详情界面都有一个保存,配置后一定要记得保存,不然不生效
3.2.2、单击鼠标左键

3.2.3、双击鼠标左键

3.2.4、单击鼠标右键

3.2.5、鼠标移动

3.2.6、鼠标滚动

3.3、键盘操作
3.3.1、简介
键盘操作分为快捷键和文字输入两个操作

3.3.2、快捷键操作
快捷键就是平时使用的那些快捷键,比如ctrl + c、ctrl + v表示复制粘贴,多个按键使用英文逗号分隔就行了,如下win + r打开运行窗口

3.3.3、输入文字
输入文字,还可以用后面会介绍的变量

3.3.4、案例:打开记事本写"hello广州"





3.4、时间等待
3.4.1、简介
时间等待分为三种类型
- 等待目标出现
- 等待目标消失
- 等待几秒
3.4.2、等待目标出现

3.4.3、等待目标消失

3.4.4、等待几秒

3.5、变量操作
3.5.1、简介
变量就是可以改变的数据,变量操作有两种,设置变量和修改变量, 为了简单,目前变量的类型只有数字类型

3.5.2、设置变量

3.5.3、修改变量

3.5.4、变量作用域
说人话:一个变量设置之后在哪些范围内可以使用到
结论:变量作用范围为:设置操作之后的(同级操作节点和同级节点的子孙节点)
3.6、日志输出
可以使用英文大括号来使用变量,如{n}表示显示n的值
注意:有一个代表当前时间的内置变量curr_date ,使用如下

3.7、条件判断
3.7.1、简介
条件判断就是判断某个或者某些条件满足之后才执行条件判断节点里面的操作,需要注意的是之前学到的所有操作都是从上到下按顺序执行下来的,在程序中属于顺序执行,这里的条件判断只有满足条件才执行条件节点的子孙节点,在程序中属于条件分支执行,也就是可以有很多条件判断,满足不同的条件执行不同的操作。
条件判断操作的条件有两种方式
- 图片存在或者不存在
- 变量是否满足某个值
两种方式的条件可以单独使用也可以结合一起使用, 如果要实现更多条件的组合判断可以直接在条件操作里面继续加条件操作。条件判断操作里面可以放除了选择区域之外的所有操作,当然也可以放条件判断自己(条件嵌套)
3.7.2、案例:判断当前输入法是中文就点击切换成英文



3.8、循环执行
3.8.1、简介
循环执行见名知意,将同一个或者多个操作重复执行,比如一段操作:点击A、点击B、点击C,加上循环执行10次后,就会一直按顺序点击A、B、C重复十次,就像我们每天起床、刷牙、吃早餐、工作、下班、吃晚饭、睡觉、每天都重复这些动作直到生命结束。
循环操作操作里面可以放除了选择区域之外的所有操作,当然也可以放循环操作自己(嵌套循环)
循环操作有两种:
- 循环执行
- 跳出循环
3.8.2、案例:按顺序点击三个图标,重复三次

3.8.3、案例:按顺序点击三个图标,重复三次,第二次跳出循环


3.9、调用脚本
3.9.1、简介
有时候我们需要在新脚本里的某个地方直接调用现有的脚本,被调用的脚本可以直接共享使用当前脚本的变量


3.9.2、调用脚本
先准备一个被调用的脚本

再配置一个调用脚本

4、其它功能
导入、导出、注册、关于
5、综合案例

6、迁移学习(可选)
|----------|---------------------------|---------------------------------------------------------------------------------|-------------------------------------------------------------------|
| 知识点 | 小D助手 | Java | Python |
| 变量 | 变量操作/设置变量 | int n = 0 | n = 0 |
| 变量作用域 | 节点之后的同级节点和同级节点的子孙节点 | 变量声明所在的{}之内 | 函数、类里面 |
| 方法/函数 | 脚本/新增脚本 | public int add(int x,int y) { return x + y } | def add(x,y): return x + y |
| 方法函数调用 | 调用脚本操作 | add(1,2) | add(1,2) |
| 方法函数调用传参 | 调用脚本操作直接共享当前脚本的所有作用范围内的变量 | add(1,2) | add(1,2) |
| 顺序执行 | 同级节点按顺序执行 | 不同行的代码按顺序执行 | 不同行的代码按顺序执行 |
| 条件分支 | 条件判断操作 | if(n == 2) { doThings(); } | if n == 2 do_things(); |
| 条件嵌套 | 条件判断操作 条件判断操作 | if(n == 2) { if(m == 2){ doThings(); } } | if n == 2 if m == 2 do_things(); |
| 循环语句 | 循环执行操作 | int n = 0 while(n < 10) { doThings(); n++; } | n = 0 while n< 10: do_things() n += 1 |
| 跳出循环 | 跳出循环操作 | int n = 0 while(n < 10) { if(n == 5) { break; } doThings(); n++; } | n = 0 while n< 10: if n== 5: break do_things() n += 1 |
| 循环嵌套 | 循环执行操作 循环执行操作 | int n = 0 int m = 0 while(n < 10) { while(m < 10) { doThings(); m++; } n++; } | n = 0 m = 0 while n< 10: while m< 10: do_things() m += 1 n += 1 |
| 时间等待 | 时间等待操作 | Thread.sleep(1000) | time.sleep(1) |
附录:
软件下载地址:https://pan.baidu.com/s/1PWtH4VogrZCWTWkokmxVTw
提取码:o3j6
视频教程:https://www.bilibili.com/video/BV18M4m1k7ZL/?vd_source=8526cb3355f5037d987fad7587b480f7