个结构好的脚本,往往都是多个模块组成的,由模块来组合而成的代码,结构流程清晰便于阅读,不管是给其他人参考还是自己日后的维护,都是有很大帮助的。
虽然在不同的游戏里需要编写不同功能的模块,但是还有一些模块是可以通用的,这些模块编写好之后可以放在其他的脚本里使用。这种模块就被称为“基础模块”
脚本模块化
一般情况下一个完整的脚本是有三大部分来组成的:主程序模块、功能模块、基础模块
主程序模块就是用来实现脚本整体功能的,或者是用来控制脚本要执行什么功能的部分。比如LOL脚本使用他进行人机匹配还是统治战场模式,这个部分就属于主程序模块。他只负责进行全局的操作,不管细节。
功能模块就是用来具体实现某个功能的部分,还是以LOL脚本为例,像是实现人机匹配的战斗,识别血量等等这种操作都是功能模块的作用。
基础模块就是最基本的一些操作了,比如点击、找图、找色等等功能。这种基础模块往往和游戏本身没有关联,不会受到游戏的限制,可以随时放到其他的脚本中使用。
大家在编写脚本的过程中不要小看基础模块。别以为找图找色命令也就2、3行代码,封装和不封装感觉差不多。当你在代码中频繁的使用这些代码之后,你就会发现没封装成函数的话会让代码整体看上去非常的乱,到最后可能你自己都不知道写了什么东西。
所以~~要多封装函数!要多封装函数!要多封装函数! (重要的事情要说三遍)
常用的基础模块
滑屏模块
在安卓上滑屏是个比较频繁的操作,所以很有必要把他封装成函数。用Swipe 命令进行滑屏的话,很容易出现惯性,就是滑动停止后屏幕还是处于滑动状态,很不好控制,所以我们可以封装下面的这个函数实现滑屏
Function 滑屏(数组)
Dim arr
arr = 数组
TouchDown arr(0), arr(1),1
TouchMove arr(2), arr(3),1,200
TouchUp 1
Delay 200
End Function
复制代码
使用范例:
'把滑动的两个点记录到数组里方便调用
上滑 = Array(683, 945, 155, 974)
Call 滑屏(上滑)
复制代码
点击模块
点击这种频繁的操作肯定是要封装的
Function 点击(数组)
Dim arr
arr = 数组
Tap 数组(0),数组(1)
End Function
复制代码
使用范例:
按钮 = Array(169, 180)
Call 点击(按钮)
复制代码
截屏到内存:
在找色或者找图之前先使用KeepCapture 截屏到内存,可以加快找图找色的速度,所以我们可以把这个封装起来,在找图色之前调用一次
Function 截屏
ReleaseCapture
Delay 200
KeepCapture
End Function
复制代码
PS:这里为什么要先写 ReleaseCapture 这个释放截屏的命令呢? 这种写法可以利用到循环找图色结构当中。如果先写KeepCapture命令的话,那在循环结束后没有从内存信息中把图片释放掉,就会导致下一次的找图色失败,所以先释放一次,然后再截屏
使用范例:
Do
Call 截屏()
FindPic 0, 0, 0, 0, "Attachment:1.png