大家好,我是方琴,我们开始学习懒人精灵的涂色方法的第四课啊,找图方法,我们介绍一下这个找图找图的一个工具啊,函数的一个讲解,还有找图的一个什么应用啊, 我们先来看一下啊,我们上节课的话,我们肯定要执行一个什么一个操作啊,我们还是跟找事的方法一样啊,我们执行一个自动化的一个什么一个操作啊, 好,我们先准备一下啊, 好,我们打开我们的 个工具啊,然后我们截图, 我们也是老样子啊,我们先确定我们是什,在什么,在什么界面啊,那么我们在这个界面啊,在游戏界面 在操作之前啊,我们啊扩大一下啊,我们扩大,把它扩大好,扩大完毕以后啊,我们剪啊,剪裁啊,剪裁,我们点击啊, 然后我们剪一个标识比较啊,有特点的啊,那么就这个吧啊,比较有特点的啊,我们双击一下,好,那么这个图啊,那么就到这里来了, 这里来了以后的话,我们就点击保存啊,或者你快捷键也可以啊,然后保存,保存在哪里 啊?保存在我就保存在桌面吧,然后 我就选这个啊,啊, p n g 啊,这么一个图片的一个什么一个格式啊,然后这个就是啊,就是游戏界面啊,我就写上游戏界面啊,写中文 保存啊,保存成功啊,确定啊,确定完了以后啊,然后我们 还原下图片的一个什么尺寸啊,尺寸以后我们再看,我们的右下右下角有个图片的一个查找,我们点击打开啊,大家看我的鼠标啊,好, 打开以后我们选择我们第一个啊区域找图啊,图以后,然后我们首先 先啊,我们的插到方向,我们还是保持不变啊,然后我们加载我们的图片进来啊,我们图片是游戏界面,好, 打开我们就加载进来了啊,加进来以后啊,我们要查找的范围啊,然后我们是这个范围,好,然后我们双击一下,好,我们范围就在这里来了,那么偏色的话啊,我们暂时先不动啊。嗯, 我们查到好,他就是什么跟我们标识查到到了啊,那么 x 是幺二二幺啊, y 就是五七啊,那么也就是这个位置啊,那么非常的标准的。然后我们生成我们的脚本啊,复制代码, 然后我们粘贴进去啊,粘贴进去,然后这个是官方的一个什么一个封装方法 啊,我们不要啊,我们不要他啊, 然后我们自己来,我们来看一下这个函数,这叫什么区域找图啊? 前面的四个整数的话呢,就是我们需要什么查找图片的一个什么范围啊, 那么第五个参数是什么?是我们的一个啊,图片名称啊,那么就是游戏界面啊,点 png 啊,后面这个啊,幺零,幺零是什么呢?是他的一个什么?一个偏啊,一个偏啊,一个偏射啊,偏射的一个值啊, 那么零就查到方向零点九八啊,就是它的一个相似度啊,我们来看一下它返回什么呢?如果找 到啊,如果找到,如果是多个图片啊,多图片,如果找到的话呢啊,然后就返回他的一个什么图片的一个缩影啊,如果没有找到啊啊,如果找到他就返回他图片的一个什么缩影,哪个图片的一个什么缩影啊? 并且它会返回什么啊?找到这个图片的所在的这个什么坐标的一个位置啊, 也就是说啊,啊,我们这个游戏界面,我们后面啊,我们可以一个竖杠啊, 竖杠在后面还可以再加图片啊,一旦他找到什么游戏界面啊,游戏界面,然后他就会返回什么,由于界面的一个什么缩影啊,表示是哪个什么,哪个是哪, 哪个哪哪个图片被找到了啊,那么第一个就是零,他从零开始的啊,那么后面再加一位的话呢?如果他找到什么其他的界面啊,那么他就是什么啊,他就是一啊,他就是一啊, 好了么?这里这样的话呢啊,我们就可以这样去进行一个判断了啊?判断什么?我们先判断这个啊,等于等于什么零啊? 那我们输出一下啊,这是什么界面?这是游戏界面啊,游戏游戏界面啊, 我们来一心看一下啊, 哎,好像他卡住了啊 啊,他什么都没找到啊,什么都没找到,因为我们这个是循环啊,什么都没找到啊,为什么没找到呢?啊?我们忘记一件事啊, 什么事啊?然后我们看到我们这里啊,跟着我的鼠标这里有个支烟啊,然后我们打开支烟啊,然后因为我们没有把我们的什么图片啊放到 我们的资源文件里面,我们看一下游戏界面,好,我们打开。好,我们再来一心看一下啊,游戏界面啊,他就找到了啊,找到以后的话,我们啊他那个什么坐标啊?他那个坐标 坐标是什么 啊?我们把 x y 啊直接传进去就行了, x 啊,然后把它分隔一下啊 x y, 然后我们再来进行看一下啊 x y 啊,然后它就它就什么,它就找到了啊, 那么这个函数的话,我们进行再次来进行一个什么一个一个 操作啊,他在游戏界面,然后的话我们就要干嘛呢?我们就要执行我们的一个什么一个打开背包的一个操作啊,然后我们也是找图啊, 剪剪裁啊剪裁啊,好,然后我们找到这个啊,然后我们保存一下,然后我们起个名字叫打开背包啊,打开背包, 然后图片我们图片的一个查找啊,然后加载我们的一个图片,打开背包 啊,我们选择我们的一个范围啊,比他大一点啊,查找我们没问题啊,然后生成我们的脚本 复制代码,我们在这里面啊,就是我们要执行的一个什么操作啊?嗯 啊,在这里面的话我们也可以不用它啊,不用它我们直接用什么呢?用这个啊 啊?如果他找到 x, 因为我们只有一个图片,如果他大于啊负一啊负一,那我们就表示什么?找到啊,找到以后啊,我们就点击啊我们的打开的一个啊背包, 然后把 x 换一下啊,替换一下啊 y, 好了吗?这样就行了啊,然后完成以后啊,我们还是要给他一个什么延迟操 做啊,嗯,给他一个一秒吧,就这样子啊啊,我们一定不要忘了我们把我们的什么图片啊给加载进来,打开背包,好,我们放到这里面去好了,然后我们运行啊 好,是不是啊?他就直接什么呢啊?游戏界面我打开了什么背包啊?来背包, 然后我们在背包界面呢,呃,背包界面我们要关闭什么?关闭我们的 背包啊,然后我们又继续什么截图啊?我们取一个什么比较有特点的一个啊,然后我们扩大一点啊,好,然后我们 检查一下啊,随便啊,就这个位置,然后我们保存一下。保存,那么就是背包界面保存好,我们背包界面的话,我们还有一个处理啊, 我们还要什么关闭啊?好,保存关闭背包啊,好, 好,我们图片啊,通通来什么检验一下啊?我们先加载一个图片,加载一个关闭背包,然后我们选择一个查找范围。 好,我们还是来检验一下背包啊,先一步步来啊,我们先加载这个什么背包界面这里,然后查找范围,我们选择这里。好查找啊,好像有点问题啊,然后我们再来什么扩大一点啊? 好,没问题啊,然后生成我们的脚本代码 啊,其实我们啊,不啊,不用省,不用什么生成就可以了啊。然后我们这里后面我们加一个竖杠啊,竖杠的话我们 这里面啊,我们把这个什么改一下啊,改一下。好,那就行了啊,改成什么?改成啊?背包界面啊,背包界面 好了,然后我们这里我们再来一个判断啊。 判断什么?判断他等于等于啊,等于等于什么等于一啊?因为这个是零开始,如果他找到这个的话,就是一啊,那一的话,我们就执行我们的一个什么的操作啊,好,那这样就行了啊, 好,然后我们因为刚才我们那个什么还没有解决啊,然后我们再加载一下。加载什么?加载我们的一个游戏界面啊,是不是啊? 啊?关闭背包啊,这个图片还原尺寸,然后我们选择它的一个范围啊,范围就这个范, 然后我们查找好,没问题啊,然后我们生成脚本, 好,我们粘贴到这里来啊,好了么就行了,好,我们这里也是一样的,定义它为局部,然后我们再来什么进行一个什么判断啊?判断 x 啊大于负一 啊,表示他找到啊,找到了以后啊,我们就执行什么 x y 的一个什么点击啊, 啊,我们这里来做一个什么调试输出啊,表示我们执行什么操作啊?就是关闭背包那个操作 啊,嗯, 关闭背包啊,这个操作, 好,我们排版一下啊, 我们不一一定不要忘记啊,把我们的所有的什么啊全部加载进来背包界面,还有我们那个关闭背包,好,全部加载进来, 好,我们就执行我们的这么一个什么自动化啊,自动化的一个什么一个操作啊? 嗯啊,可能会有一点点的问题啊,我们来检查 看一下是什么问题啊?嗯,因为我们这样的一个什么游戏界面和背包界面啊,我们有一个什么一个位置的一个什么一个问题啊,然后我们啊,因为我们写了一块啊,所以说你看他这里是这个位置,是不是啊? 然后我们把它什么扩大一点,扩大一点,好,这样子就行了啊,然后复制然后改一下啊,好,我们再进行一下操作啊, 嗯,好像也不行了啊,看背包界面啊,好,我们把它改成什么啊?改成, 改成全屏查找吧啊,零零零二零,好,我们这样子啊, 好,那么关闭背包啊,那我们这个逻辑就啊就已经完成了啊,刚才的错误在哪里呢?刚才错误?是啊, 我们这个背包在这里啊,背包界面我们取这里了啊,所以说那么这个什么游戏界面啊,我们取这个位置啊,所以说我们必须什么稍微大一点啊,或者是啊,我们取的时候啊,我们这样子来取啊。好, 那么这节课啊,我们就讲解到这里啊,那么下节课啊,我们继续感谢大家的观看,再见。
粉丝1020获赞1198

我们上一次讲了找色,那我们今天来讲了讲找图啊找图,我们把这些代码都删掉啊,然后直接插入找图命令, 我们可以发现啊,找图的命令和找色的命令,他们的格式还是非常雷同,看见没有?还是非常雷同,他还是一样啊,在某个区域去找我们的指定的图片, 注意看这个图片的格式啊,前面有一个啊,固定的单词,后面是一个冒号加一个斜杠,然后呢加上我们的图片名啊,最后的格式是 bmp, 然后后面是一个相似度,之前我们讲 相似度最高是一对吧?好,然后呢,越低相似度越低,我们的误差呢就越大。最后呢,把我们找到了图片坐标, 把它复制给啊,把它复制给我们的变量, int x 和 int y 它还是一样啊,它帮我们省略了声明这个变量的这个步骤,但是我们可以自己声明,对吧?我们可以自己声明, 当然你不声明也没有问题啊,我这里声明一下了,还是方便你们理解啊, 我们写个注释吧, 我们来看啊,我们怎么去理解这个格式啊?他这个格式的意思是我们要在附件里面啊,我们要在附件里面把我们的图片给添加进去。我们这里还是要利用一下我们的抓抓工具啊,用一下我们的抓抓, 然后我们在网页这一边按一下截图键,那我们可以框选框,选任意一个区域,在框选完毕以后呢, 他可以看到一个菜单,对吧?有一个未图令重围,我们可以把它重温一下,比如说我们把它取个名字啊,随便取一个吧,叫一,你看 还可以选择一个格式,他默认就是二十四位位图。好,我们点保存,然后呢我们在附件里面点添加,我们选择这张图片, 然后呢我们在这里把我们的文件名改为一,和我们的这里的文件名要对应, 明白吧?最后我们做个测试啊,我们把鼠标把它移动到我们的 这个坐标点,我们可以看到啊,我们的图片是这个,对吧?灵感加速 驶向未来,那我们这个界面有没有?没有?那我们现在启动程序他是找不到的,我们一定要等我们的这个图片他轮换到这里来,那我们才可以找到,对吧? 但是我们的代码呢?他只会在我们的程序启动的时候找一次,假如说我们程序启动的时候,我们的这个图片他没有显示的话, 那我们的代码他就找不到,我们可以写个 s 啊, if 这里 if int x 大于零 and int y 大于零这句话的意思表明,我们找到了图片,因为它的 x y 原本是没有值的, 我们永远没有复制,只有当他被找到以后,他们才会被复制,他们被复制以后呢,他们就不会等于零了。所以说呢,我们在上面呢 可以写一个提示啊,找到了下面我们可以写个提示啊,没有找到。 你看在没有这张图片的时候呢,我们启动他肯定是提示没有找到,对吧?当我们去 把它换到我们的图片上面的时候呢,你看我们切到这里来,我们再跑, 你看他就会提示找到了。就是我们有的时候会有这样一种应用需求,就是我并不知道这个图他什么时候会出现,比如说这个界面,对吧?他的图片轮换什么时候可以轮换到这张图啊? 这个我们是无法确定的,对吧?你也不知道是一秒钟之后还是十秒钟之后。那我们可以一直去监测啊,用一个循环来不断的去监测他,比如说我们这样写, 还记不记得以前我们学过一个 rim 标签,对吧?标签循环, 好,我刚才完善了一下代码,我在这里写了 标签 rim 标签循环。我们之前学习循环的时候啊,无限循环的时候学习过这个标签循环,他的意思就是说我们用一个沟通语句,可以随时返回到这个代码,返回到这行代码从第五行开始重新执行。 那么我们整个代码的逻辑就是什么呢?我们去不断的找这个图片,一直找一直找, 找到了我们就弹出一个对话框,告诉我们找到了,找不到了,找不到,我返回这个循环这里继续找。 也就是说这个图片我们会在一个无限循环里面不停的去找,一直到我们找到为止。找到以后这个循环还会不会继续啊?找到以后我们这个循环呢?他就不会继续了啊,这个程序会往后面执行, 会指定第十三行啊,提示我们图片已找到啊,程序继续执行,循环已跳出啊,到这里的时候循环就跳出了。 那为了避免我们的程序找出的频率过高啊,我们最后还是给他加一个 delay 延迟,尤其像这种无限循环了。无限循环我们还是最好给他加一个延迟参数比较好, 这样以免对我们的 cpu 造成过高的负债啊, 你可以写的短一点十毫秒啊,那也总比不写强啊, 我们写在这个循环标签的 go to 之前,也就是说我们每次找图会间隔十毫秒,如果找不到,我们在十毫秒之后呢,会继续找整个代码,就是这个意思啊,我们点一下调试, 然后去看我们的浏览器,刚才不小心关掉了,这样酷, 好,我们现在就可以启动了啊,我已经启动来看见没有,我们的图片切过来的时候呢,他就提示我们找到了,对吧?那图片一找到程序继续执行循环与跳出,对不对?你看这个时候,我们下次 图片滚过来的时候,我们还会不会去找啊?我们就不会了,你看我们手动去点一下啊, 你看还有没有提示?没有了,因为这个时候我们循环已经跳出了,他只找一次,对吧?在他找到图片以前,他是不会放弃去找的,他会一直找,在他找到图片以后呢,他就不找了啊,对吧?他就不找了,循环也跳出。 所以当我们去找一个比较固定的图片,比如说上面的菜单,他们的位置是比较固定的,而且一般来说不会发生变化。 那我们可以直接去啊,直接去写一行代码就可以去找了,像这样直接写一行就可以了,对吧?你也不用加入循环,那如果说这个图片他是会产生变化的, 他不一定什么时候会出现在我们的屏幕上,那我们就可以用什么思路啊,就可以用循环啊,用循环的思路来去找这个图,找不到就不停止。 那在这里呢,我们就还额外说一点延伸的内容啊,延伸的内容,你们就是需要了解一下就可以了啊,不需要特别去理解, 这是我们找图的底层原理,他其实还是找色。我们一张图片他是由什么东西组成啊?他还是由一个一个像素组成的,对吧?每一个像素点就有一个颜色,那么我们一个图片它本质上就是若干个 颜色点的排列组合,这句话不知道你们能不能理解啊?比如说我们放大一张图片, 我们可以看到啊,它是有很多一个一个小的方格,对不对?你看一个一个小的方格,我们这个时候用抓抓,抓一下啊, 我们看一下桌窗。好,你看我们把鼠标移动到我们的这个有渐变颜色的黑色这一块啊,你看这一块,我们屏幕上面可以看到,对不对? 从左到右,你看我们的颜色值,他有一个渐变,对不对? 好,你看我取了两个颜色,一个五九二四五八啊,一个五九三四五八,他们的颜色就是不一样的,对不对?那其实呢,如果说我们早涂的 逻辑是什么?他就是先判断你第一个点的颜色啊,是不是这个颜色,如果是的话,他再判断第二个点的颜色是不是这个颜色啊?如果是的话,他依次类推,继续往后找, 只要我们所有的颜色排列和我们的图片的颜色排列吻合,那我们这个图片就算是啊,找到了,他是这样一个逻辑,所以说找图的底层逻辑,他其实还是找色啊,能不能理解? 好,那我们来看这样一个游戏截图啊,这是一个啊,游戏的背包界面。假如说啊,我想要一次性把我所有这些血瓶呢,把它给依次点击一下, 像这样依次点击一下,我们可以用程序怎么去写了,当然这是只是一张截图啊,这个只是一张截图,所以我们去点他没有任何效果,但是你们可以看到我的鼠标移动轨迹啊,你们可以看到,对吧? 我这个是我手点的,这个是我手点的,我们如果想用程序实验这个效果,把我们这些所有血评依次全部点一遍,怎么去写?我们可以这么去写,首先我们肯定还是要截图 好,截完图以后呢,我们返回抓抓,然后我们把这个血瓶呢框选一下,框选一下啊, 好像这样框选一下,然后位图定成为,我们给它取个名字吧, 叫血瓶。然后呢我们可以考虑一个因素啊,就是我们的血瓶他通常会出现在哪个区域,比如说我们这个截图吧,他通常来说只会出现在这个区域,对不对? 所以说我们去找这个水平的时候,我们有没有必要去全屏去找啊?啊?没有必要啊,没有必要,因为你要找的区域越大, 你的运算效率就越低。所以说我们去找图的时候啊,我们可以尽量的缩小我们的找图范围, 把我们的范围缩小在一个啊,尽可能小的范围内,我们的效率呢就可以更高。所以说我们最好去取一下这两个点的坐标啊,一个是这个点,一个是这个点,然后这个区域范围呢, 我们就可以提高我们的效率,所以我们去看抓抓,在我们的抓抓里面呢,我们把鼠标移动到我们找图区域的左上角,然后我们按一下 ctrl 加一好取一个点,然后再把我们鼠标移动到我们找图区域的右下角, 再按下 ctrl 加按,你看这样我们就取了两个点,对不对?我们把两个点贴过来, 这是第一个点,这是第二个点,那我们就是要在这个范围内去找我们的什么血评, 好,我们可以去仔细一下看看啊 啊,你看他提示找到了,对吧?那没有问题,这说明我们的脚本啊,这个图片他的质量是可以的。那么我们怎么样才能实现依次点击呢?把他们全部点一遍,我们可以去设计这样一个算法啊, 在我们去找到第一个水平之后呢,我们把它的 x 坐标给记录下来,给记录下来,然后我们去找第二个水平的时候呢, 我们去加上啊,我们把找出的范围啊,从第一个水平的 x 开始,加上一个第一个水平的宽度, 加上第一个水平的宽度,这样呢我们就可以从第二个水平的坐标开始找我们,这样呢就可以去忽略掉第一个水平。 所以呢,我们在这里还需要去计算一下我们每个血瓶的宽度,我们可以怎么计算?我们可以用抓抓,我们获取一个血瓶单元格的两个坐标点右边一个点 右下角吧,我们获取他的右下角这个点,取三。好,然后呢获取他左上角的点 取四,我们可以用右下角这个点的 act 坐标啊,减去我们左上角这个点的 act 坐标,这样呢就可以得到啊,得到它的这个宽度啊,得到我们这个血平的宽度, 所以我们在这里呢可以声明一个变量啊,叫雪平的宽度, 那我们顺便就把高度啊,也获取一下,宽度等于多少, 你看这是它第一个点,这是我们取的第二个点,那它的框就是用这个数啊,减去这个数,那高度呢? 就等于五七九,减去五四零啊,这样呢,我们就可以得到一个单元格啊,一个血平单元格的宽度和高度。 那为了我们后面的计算方便啊,我们最好啊,还是要把我们的这个找 图的范围啊,把那个变量化声明一下,我们可以这么写啊,找图范围 x 一 y 一。那这个就是我们找图放我的左上角坐标啊,左上角坐标 x 一个 y 一,然后我们再写一个 x r 和 y。 啊,那这个呢,就是我们找图放我的右下角坐标,我们可以标注一下左上角。 那我们 x 一等于几?等于幺幺九四, y 一等于五二零, x 二等于幺六五三, y 二等于 七七四。那这样呢,我们就可以把后面的这些数据啊,把它用变量给代替过来,这样做的目的是为了方便我们后面计算, 那为了我们后面的计算方便呢,我们最好啊,还是要把我们的这个早读的范围啊,把它给变量化,声明一下, 我们可以这么写啊,找图范围 x 一 y 一。那这个就是我们找图范围的左上角坐标啊,左上角坐标 x 一和 y 一。然后我们再写一个 x r 和 y r, 那这个呢, 就是我们找出范围的右下角坐标,我们可以标注一下左上角。 那我们 x 一等于几?等于幺幺九四, y 等于五二零, x 二等于幺六五三, y 二等于七七四,那这样呢,我们就可以把后面的这些数据啊,把它用变量给代替过来, 这样做的目的是为了方便我们后面计算。 然后呢我们把我们的鼠标找到 以后啊,去移动到我们的这个坐标点,并且我们给他加一个偏移量,他有一个时的偏移量,这样做的目的是让我们的鼠标移动到尽可能靠中间的,靠这个雪冰中间的位置,这样我们看起来就更加明细啊,就更加清楚, 然后我们可以给他一个啊延迟,这个延迟是可以稍微大一点点,然后呢我们去点一下我们的鼠标左键。 好,那如果顺利的话啊,我们的这个程序目前他就会去找这个血瓶, 找到以后呢,我们的鼠标会移过去,然后点一下鼠标左键,因为这个雪屏它的这个图片质量啊,其实还是 有点堪忧啊,而且有点小啊,所以说我们把它的精确度啊,最好改的不要那么高,改到零点八五试试看吧。好,然后我们再启动程序啊,看见没有啊?我们的鼠标是不是 就移过去了,对不对啊?瞬间移过去了,我们可以再试一次啊,大家看见没有啊?很顺利对不对? 好,但是我们没有达到目的啊,他只动了一次,我们,我们的目的是什么?我们的目的是想让我们的鼠标把我们的每个水平都点一遍,对不对?所以说我们找到第一个水平以后呢,我们要去修改我们的查找范围, 我们可以把我们的查找范围加上,加上我们的 一个血瓶的宽度啊,加上我们血瓶的一个宽度,然后呢我们再 go to 我们的标签循环啊,这样呢,我们第二次去找他的时候啊,我们的鼠标他就会 移动到下一个血频,我们可以试试看啊,有没有效果?我们这个弹出来了, ok, 这个能不能不谈呢? 这样就可以了。 好,我们可以发现啊,刚才我们的程序他点了两个血频,但是他没有往后去点, 点第三个,对吧?那我们如果想要我们的鼠标继续往后面点到这第三个瓶子,第四个瓶子,那我们应该怎么办?我们可以设计这样一种算法啊,让我们的这个查找血瓶的 x 递增,递增,一直往后递增, 当它递增到一个临界点的时候,当它递增到一个临界点的时候,我们就让它返回到初始数据, 然后返回到初值数据,他以前初值数据是多少啊?是这个数据是幺幺九四,对吧? 那我们返回初始数据以后呢?让我们的外坐标啊,递增一个单元个高度啊,递增一个水平单元个高度,这样呢,我们就可以从第二行开始去查, 能不能明白,好,我们可以去试试看怎么去写啊?那我们可以粗略的推算一下啊,我们要找这个血拼,我们要找一排的话啊,我们最多需要递增几次啊? 你看他的单元格有几个?一个,两个,三个,四个,五个,六个,七个,八个、九个,那我们递增十次怎么都够了,对吧?我们最多递增十次,他怎么都可以把这一条找完,所以说我们可以怎么样?我们可以写个负循环, 那我们就把这个标签循环啊给删掉啊,我们用个负循环来写 十四,对不对啊?我们是不是找十四,然后 next, 那么这里还是生命的变量啊,循环次数 啊,选完十四就找这个图,我们每找到一次呢,我们的找出范围呢,他就会递增一个血平的宽度啊,那我们的十四找完以后呢,我们的范围怎么样?我们的范围起点 要等于我们的原始数据啊,那这里我们的我们的原始数据啊, 最好还是给他负一个值啊,这生命的变量给他负一个值,像这样写等于原始气垫 x 啊,也是七零 x, 然后呢,我们的角度范围 y 啊,等于多少?等于我们的 y 坐标的原始起点 是五二零啊,五二零加上加上我们一个血瓶的高度, 像这样写,也就是说呢,当我们找完一排图片以后啊,我们的找图范围的起点会回到我们的原点啊,我们找图起点呢? x 坐标,或回到我们的原点 x 坐标。那我们找图器里面的外坐标呢?或回到我们原点啊外坐标,然后加上加上一个血平的高度, 然后我们加上这个高。对,以后呢,我们怎么样?我们再来一遍啊,我们再来一遍,他这样呢,就会去找第二排,我们可以试试看啊,能不能实现我们的目的啊,先找第一排,然后再找第二排, 哎,看见没有,很成功,对吧?好,刚才我发现一个问题啊,就是我们去找水平的时候啊,找第一排的时候很顺利,找第二排的时候也很顺利,但是找第三排的时候啊,就不顺利了。原因在哪里呢?原因在我们的原始坐标 点大概是这个位置啊,我们找到第一瓶水瓶的时候啊,我们要把我们的原始坐标点呢定位到我们的第一个水瓶这里来,这样才可以,要不然的话我们的啊外坐标累加啊, 还有 x 坐标累加很有可能会出现问题啊,很有可能会出现问题,会产生一个误差。所以说呢,我们在第一次循环的时候啊,在第一次找到我们的这个血频的时候, 我们要把我们的啊原始的坐标洗脸值把它重新给复制,你看下这里啊,我加了一个变量啊破循化的次数, 我们这个负循环的次数,在我们的整个负循环每次循环一次的时候呢,他就会加上,一看见没 他就会加上一,然后呢在他为零的时候啊,第一次循环的时候,我们是不是找到这个图片的 x 坐标和 y 坐标,对吧?找到我们血平 x 坐标, y 坐标以后呢, 我们把它给复制给我们的原始系列 y 坐标和 x 坐标,那这样呢,我们才可以去减少他找得这个误差值。 好让我们再来看看啊,把后面的代码一并改一改,看有没有问题啊? 我们先用的复型化,去找图,找一排,对吧?找一排找十次, 摘完以后呢,让我们的整个的这个原始起点呢把它重新给归位,然后这原始起点外坐标呢 给他递增一个,给他递增一个我们的水平高度,然后呢我们再来一次,我们再来一次,然后呢我们的循环再加一, 我们的原始起点外坐标好再递增一次,最后呢我们再加一,再循环,然后呢我们再加一,再循环,把同样代码写四遍, 那你看这样行不行? 哎,没有问题,对吧?好,我们再来演示一遍, 好,看见没有?没有问题,对吧?我们就按顺序把我们的每一个血拼啊,全部点燃一遍。那我们的代码这样写是不是很啰嗦呀?啊?是不是太啰嗦了?是不是 我们这样写同样的代码写了四遍啊?所以说我们可以怎么样?我们完全可以在第一个循环啊,在第一个大的循环里面啊,写一个更大的负循环, 对不对? four 四, 然后呢?把我们整个的这个代码呀,把它套进来,像这样 他就形成了两个复循环的欠套,对不对?外面一个四个啊,循环次数里面呢啊,循环十次,我们每循环完十次呢啊,完成一个小的复循环, 然后呢?外面整体的大的负循环呢啊?循环四次。那这样写的效果呢?和我们刚刚写的效果就是一样的。那我们可以看看是不是一样的 啊?看见没有,对吧?是一样的,对不对?

你们好,今天我们用安静小精灵做一个自动点击小太阳的脚本,也就是说这个东西你们学会了以后,就可以让电脑自己去识别点击你想要点击的东西,喜欢的话可以点下关注,我会继续更新。首先第一步我们要电脑知道自己想点击什么,也就是说今天 这个植物大战僵尸里边这个太小太阳获取了位置之后,然后因为这个位置随机刷新的,我们要做一个识别,那么好。第二步,获取图片所在的范围,也就是说这个小太阳会出现在哪里,也就是电脑屏幕左上角的游戏里。 第三步的话,我们把它生成一段代码,然后写进脚本里。第一步我们点击刷刷软件,里边会自带一个截图工具,也就是这个点击 截图,然后我们把想要点击的地方截个图,也就是说这个小太阳把这个小太阳的中间截一个图,然后把它存到本地的目录里,然后再一次点击抓抓 找图,找色,然后区域找图,然后选择区域,这时候我们的鼠标会变成一个彩色的,就跟 qq、 微信截图的时候会一样,然后划定一个我们要找图的范围,也就是说小太阳所在的范围。接下来我们把刚才截图小太阳的图片插到里边,点击浏览,插入刚才的图片, 然后选择相似度,相似度默认的话是零点九,零点九的话就是百分之九十的相似度,如果说识别不到的话,可以适当的把这个相似度降低一些,把它改成零点八、零点七,零点六,如果说 说你改多了的话,比如说你改成零点二,零点三,他就有可能会乱点,就不一定点到哪里了。 接下来我们点一下测试,试一下能不能找到这张图片在这个范围的坐标,点击测试之后,显示一个坐标的话,基本上我们就成功了,如果显示杠一点杠一的话,那就是找图失败,我们可以适当的降低一下相似度, 直到找到这张图片的坐标位置,然后我们就可以点击生成,这里我输入的像素度是零点八, 重新生成一下,然后我们直接粘贴进去就好。然后先看一下代码第一排的话,也就是嗯这个文件目录以及这个相似度。 接下来我们要写一句鼠标点击获取的位置,我们随便插入一条鼠标移动命令,把鼠标命令上的坐标数字直接改成 x 和 y, 这样就可以做到一个鼠标移动到小太阳上,然后再后边再加一条鼠标点击, 基本上这就行了。然后给他设置一个循环,右边有一个运行,运行里边有一个巡指到循环到按键中指,给他修改成这个,这样的话就 f 十启动, f 十二 暂停,然后点击运行。那么好,这一时间我们没学会的或者是没看懂的可以在评论里边打出来,我会我我我会闲着没啥事的时候给你们解答出来。

好,我们今天来学习一个新的插件啊,叫图零插件。 那我的视频里面呢,讲那些脚本呢,那些教程啊,基本上都叫涂色,涂色脚本,我们主要是讲这个涂色脚本的制作的啊, 那顾名思义啊,我们的脚本他一般的制作原理啊,就是根据我们电脑上的涂色 啊,来做出我们的判断啊,这是我们的涂色,根据我们的涂色来做出我们的判断,最后来操作我们的什么件数啊,根据涂色啊来操作件数,操作件数的逻辑是什么啊?逻辑就是我们的算法,你不要看着算法两个字好像很 高大上啊,一加一等于二,他也是算法啊,这个东西还有简单又复杂,对吧?你不要觉得好像只有啊,三样函数啊,那些东西才算算法,其实一加一等于二,他也是算法。所以说我们的 制作脚本呢,我们的涂色脚本,他的基本逻辑就是通过我们的涂色判断啊,然后根据我们的算法逻辑,最后控制我们的键数操作,这是我们一套流程啊, 所以我们的涂色啊,涂色判断和查找是我们的一个基础啊, 那我们按键禁令他自带的涂色啊,找图啊,找色,他的功能是有限的啊,他功能是很有限的,所以我们后来需要用什么,我们用了很多的就是大漠插件啊,他是一个增强版的涂色啊, 很多我们用按键精灵自己的涂色功能找不到的,或者说效率很低的,那我们用大摩擦键呢,可以提高我们的效率,提高我们的准确度。但是啊, 不管你用大漠插件也好啊,还是用市面上很多的涂色插件也好,他本质上啊,他本质上都没有脱离我们的底层逻辑啊,一般的涂色的底层逻辑,我们一般的涂色的底层逻辑是什么?我们来看个图啊, 比方说啊,比方说这个绿色的区域,他是整个我们的电脑屏幕,他是我们整个电脑屏幕,然后中间的三个方块,他是我们要找的一个图片。好了,不管是二年级零自带的涂色功能 好啊,还是我们大摩擦剑,他的涂色命令也好,他们找涂找色啊,他们本质上都是什么?都是在我们的屏幕上挨个的去,那看每一个的 像素点呢?他们的颜色信息是不是跟我们啊?跟我们的图片信息对的上号, 如果说可以对的上号啊,蓝色、蓝色、橙色、橙色、粉红色、粉红色,那最后他就可以判断什么,判断他找到了,对吧?他只要是我们的颜色信息对的上号啊, 他就可以判断找到了。我们还可以设置相似度对不对?比如说这个蓝色,我们把稍微改深一点啊,我们如果把相似度改的不是那么高的话,设置百分之九十或者是百 百分之八十、七十的相似度,他也可以找得到啊。但是他的底层都还是判断颜色,他的逻辑还是判断颜色,那我们今天说的图零插件,他就从底层彻底改变了我们的角图逻辑啊,他就不再去判断颜色了啊,不管你是什么颜色, 在图零插件里面,他都把它做了二直化处理。那二直化,什么叫二直化呢?就是把我们的所有的图片数据啊,都把它转化为两个数字,零和一啊,零和一, 比如说啊,这是我们啊要找的图片,对吧?他会在我们的啊插件里面呢,把它处理成数据一啊一一 后面的屏幕区域啊,只要不是我们需要找到图片的,他都把设置为零啊,都是零,你可以这样去理解,好吧,整个屏幕都是零,我们要找到图片呢啊,他是一, 所以说我们找图的时候啊,他是对应的去判断我们图片的点赞信息,他是不是和我们啊对的上号啊,如果说我们在点赞信息里面发现我们要找到这个图片呢啊,他就是一啊一啊一一一, 那他就是我们要找的图片,那如果他不是呢,比如他的一零一,那他就不是我们要找的图片。那能不能明白他摆脱了颜色的限制,那也就是说呢,不管你是什么颜色啊,哪怕你是黄色啊, 哪怕你是啊什么别的颜色,他这两张图片在我们的图零插件里面呢,他依然是一张图啊,他依然是一张图,那这样就有什么好处啊?这样有什么好处啊? 现在我们很多啊,画面呢,他的光影效果做的是非常好的啊,如果你想通过像素点的颜色来判断的话,那是非常困难的啊。所以说我们可以通过图灵他的一个二指画 来简化我们底层找图的基本逻辑,我们只需要通过一个整个轮廓上的判断轮廓啊 啊,就可以去判断这张图片是不是我们要的图片,而不是从颜色上判断啊。比如说我们来看这个游戏啊, 那我们如果想要通过传统的涂色啊涂色的命令呢?来去找我们的这个传送门呢,他是比较困难的啊,虽然说我们可以用算法来弥补啊,我在之前的视频里面也讲过啊,我们可以通过一个 点针的便利啊,去弥补我们一些涂色上的不足啊,但是这种效率就啊就比较低下,对吧?他不能直接去定位到他,他不能直接去定位他,那我们如果用图零插件的话,我们可不可以去直接定位到这个传送门啊? 我们可以试试看了。好,那我们这里就要用到我们的这个图铃的,那他的一个字库工具啊,好比如说我们刚开始的时候呢,可以 第一步啊,就是屏幕截图,我们点一下这个屏幕截图,然后呢我们把这个框啊,把它拖大一点啊,拖大一点 拖过来,然后我们点一下完成。 好,我们返回插件啊,我们可以看到在我们的插件里面呢,就把这个图片呢把它截下来了,对吧? 他这个截图功能啊,还有一个模式啊,你看我们再点一次他这个完成,这里点一下右键,看见没有?他会有一个连续两个字,那我们再连续这里每点一次呢,他都会 在他的插件里面呢重新生成一张图片,我们把这个放弃点一下啊,然后我们再返回我们的图铃, 看见没有?我们现在就有很多张图片,对吧?左边一二三四五,我们有五张图片。好,那我们获取了这几张图片以后啊,你看他右边有很多功能啊,二直画,第一个就是二直画,这就是我们经常会用到的一个功能, 我们选中这二极化,然后呢我们点一下下面的什么添加, 这里有个添加,看见没有?我们给他添加。好,你看我们的这个图片信息啊,他就变成了一个什么一个黑白的图片,屏幕上只有两种颜色啊,要么黑色,要么白色,对吧?我们可以通过调整 上面的这个滑块啊,来调整我们的这个黑白的这个玉值,看见没有?我们把这个玉值啊调整到一个比较合适的区间,你看 差不多了啊,调整到一个比较合适的区间,然后我们去看一下别的这个截图,你看他是不是都可以把这个传送门给大致的标出来,对吧? 好,那完成这一步以后啊,我们再可以去点第三步啊,你看这是一屏幕截图,看见没?还有一个标记,一,数字屏幕截图是一, 二是滤镜处理,这表明他的顺序啊,能不能明白?我们第一步先截图,第二步啊,给他添加滤镜,如果你一个二次化滤镜还不够,你还可以去在后 添加别的滤镜,你可以去试一试,好吧。然后我们第三步,你看他有一个数字标记吗?三,切割识别,我们选择这个联通区域吧,然后呢我们点一下开始切割,开始切割好 切换以后,你看我们屏幕上就会有很多这个红色的方框,对吧?我们选中我们需要去识别的方框,比如说这个传送门,你看我们点完以后呢,他就会变成一个整体,对不对?然后我们对他进行一个双击, 好,双击完以后啊,我们来给他写一个名字啊,给他写一个名字叫传送门啊,然后我们点着啊这个添加入库, 把这个关掉啊,很多无关的东西我们就不需要了啊。然后我们看上面的有一个字库管理,看见没有,这里我们就有了第一个库啊,就有了第一个这个字啊,就有了第一个字传送门。好,然后我们再来点第二个啊, 一样的啊,然后双击他点添加,因为这个屏幕的传送门啊有点大,所以他看不全啊,你点这个最大化就可以看到了,对吧?我们点添加入库, 然后关掉第三个啊,一样的传送门,添加入库,第四个添加入库,第五个。 好, 我们来看我们的字库啊,嗯,他现在又有了什么?五个传送门,看见没有?不过由于这个图片比较大啊,所以我们看不全,但是没关系啊。 好,然后呢?那我们点一下这个生成发布,我们下面看。他支持很多语言啊,他支持很多语言按键啊,手机按键 e 语言 ubuch 啊, t c 加加 v b 懒人精灵啊,很多很多,还有拍摄呢, 那我们就选择我们的第一个啊,暗影精灵,你看他这里就形成了很多代码,对吧?但是我们不是需要全部复制啊,我们不是需要全部复制,这个我们只需要用前面这一块就可以了啊,我们复制一下,然后 好了,我们返回我们的安静。精灵啊,这是一个新的脚本啊,你看他是个新的脚本,我们把它粘贴一下啊, 我们把这个找图范围改一改,这是我们的找图范围,他就以我们的屏幕范围来改吧,我们在全屏找这个传送门啊,全屏去找,然后呢?我们把后面的这里要改一改啊, c 识别库,它是我们的一个字库的路径, 刚才我们啊做了五张图片,对吧?这五张图片信息他就保存在我们的字库文件里面。字库文件在哪里啊?我们看这个 插件的这个工具啊,然后我们点这个置物管理,点置物管理之后,这里有个字库另存,看见没有?我们点另存点电脑端字库,然后他有一个名字看见没有? 叫识别库,对不对?我们可以后面加一个后缀写暗黑,对吧?因为这个游戏是暗黑破坏神嘛,对吧?我们写暗黑,然后呢点一下确定好,那我们的字库文件他这个路径,你看他是绝对路径,看见没有?所以我们要去找这个字库文件在哪里? 他在我们的插件的目录下面,你的插件装在哪里?那他的这个支付文件呢?就在哪里,我们去找一下啊,我们去找一下 啊,工程文件啊,不是,是我们的识别库吧?啊?识别库电脑端啊,这里看见没有?所以我们要 把整个路径啊,都把它给复制下来啊, 像这样看见没有? 我们的名字改了,对吧?我们名字改成了识别库暗黑,我们把这个也复制过来,你看他是我们整个的这个字库的路径,绝对路径好吧?绝对路径 好,那我们这个找图啊,我们把它放到一个循环的去找啊,放到一个循环的去找,写一个 dou 循环吧, 如果找到啊,我们给大家写一个提示框啊, 好,那这样就可以了啊,他前面这些代码是什么意思啊?第一个是我们要改的地方啊,就是我们的屏幕的查找区域,后面就是我们二字化处理的一些操作, 然后呢?啊,是我们的切割操作啊,这是二次化处理,这是切割啊,这个是我们的路径啊,然后这个我们不需要啊, 下面的这个就是我们的照图啊,然后这个八十五是他的相似度设置,你可以设置为九十啊,一百啊,或者是啊,没有一百啊,他是零啊,零是最高相似度,然后八十五就是百分之八十五相似度, 然后我们来看它的识别结果,如果不等于空,那就提示我们找到了,我们来调试看看啊,这个代码很简单,那我们来看我们的 啊,游戏啊, 好,我们把这个像素度啊改的稍微低一点吧,八十五有点高啊,因为我们的图片素材也比较少,我们只做到五张啊,好,我们来使用脚本看看啊, 哎,看见没有,他提示我们找到了,对吧?因为我们的这个门呢,他的光影效果一直在变化,对不对?我们做的帧数只有五张啊,我们只做了五张,但是五张也足够了啊,只不过我们要等的时间稍微长一点点, 但,但是你可能要说啊,呃,这个找到了,我们没有证据,对吧?我们只是啊弹了一个框对不对?但是这个框他没有说服力啊,我们怎么知道这个程序啊,他是不是真的找到了,对吧?说不定你在忽悠我对不对?那所以 我们要给他加一个什么 x y 的返回值,返回我们的这个坐标信息,那我们来看下面呢,他这里参数是可以调整的,看见没有,我们可以选择文字或者文字加 d x 和 d y, 那 d y 就是我们的 万鼠标嘛, dx 就是我们的啊, x 鼠标,我们把这个选一下啊,然后我们重新点一下这个暗夜精灵,你看他这里代码就有一点变化啊,变化不大,但是有一点点,看见没有,他这一行识别结果这里他后面就多了一个参数啊, 多了个什么?多了个一,看见没有好,多了个一。那这个一我们自己写过来也是可以的。好吧,我们不用复制也可以啊,多了个一代表什么?代表他就多了一个什么,多了一个啊,坐标了参数信息, 我们可以把这个识别结果啊,把它给弹出来看看,好,我们再回游戏啊, 好,我们使用脚本啊,哎,看见没有,他弹出了我们的提速信息,后面还带出了什么坐标信息。幺幺五九啊和二三五,我们可以大致量一下啊,你看 差不多,对吧?幺幺五九和二三五,那说明我们就是真的找到了,对吧?那我们怎么样才能把这个追发信息给利用起来啊? 那我们这里可以利用我们的啊,这个数组函数啊, speed 看见没有?我们来分割一下啊,它的格式是是我们的一个竖线啊, 我们先用竖线把它分割一下,我忘了他刚才那个信息啊,刚才那个信息我忘了,所以我们把弹一下吧,把弹一下, 我们来看看它的格式是什么样子的,看上面弹出什么来。好,我们调试 啊。哦,它是一条杠啊,前面是我们的这个传送门的名字啊,传送门后面一条杠,然后是两个坐标啊,首先是个逗号,所以我们的 数组的一号信息啊,一号信息应该就是我们的坐标信息了,零是我们的传送门,对吧?一是我们的坐标啊, 我们再把我们的一分割一下就行了啊。好,那我们再来处理一下他的坐标信息啊,他坐标信息就是后面的啊, 它的分割符是逗号啊,所以我们坐标信息就可以被我们处理出来了啊。 x 坐标是什么?这是我们的零号数字的零号 y 手表了, y 手表是我们的 啊,一号。那我们来做个操作吧。啊,我们识别到传送门以后啊,我们让他走进去对吧?啊?我们让他走进去,我们直接去点他啊。 move to x 坐标 这里肯定要改一个偏移量啊,偏移量改为二十吧,然后外坐标呢改个偏移量延迟 再点一下。那这样呢,我们就可以找到我们的传送门了,并且让我们的角色啊跑进去,我们可以试试看啊,在我们操作以前呢,我们可以弹出个框,对吧?我们不弹了啊,把它给注册掉吧,没有什么好弹的了。 好,我们来看效果啊, 我们来使用脚本啊,使用脚本二加点, 哎,看见没有,对吧?我们是不是成功的跑过去了,对不对?嗯,那我 再试一下啊,看能不能啊重新再跑一遍。嗯,看见没有?很成功对不对啊?很成功。 好,那这个就是我们的图零插件啊,他的一个二次画找图的效果啊,他是把所有的图片都 转化成了二十信息零一,然后呢存在我们的字库文件里面啊,所以说图零里面呢,无论你是早图还是早字啊, 它本质上都啊都变成了早字,早吐也是早字啊,早字也是早字,因为它都是以一个二次化信息啊为一个基础 去进行判断了,所以说他就没有以前的涂色那种逻辑了啊,就你不要去觉得啊,为什么我要用字库啊?我们去找图,对不对啊?但是他就是啊,他就是这样一个逻辑。然后呢?如果你要用这个插件的话啊, 你要去访问他的官网啊,这个是网址啊,这里有他的一个下载的位置啊,他有免费版和啊收费版,如果你觉得免费版就够用了啊,你也可以不用去购买他的收费版, 如果你觉得啊这个东西很好,那可以帮到你,你也可以去买他的这个收费板。

上节课我们学习了一下三个循环的用法,这节课我们来学习一下比色和早图。那什么是比色呢? 比设,他跟找设啊远差不多,就是他是固定的几个地方, 嗯,我们看一下这个笔色,就是对比指定点的颜色, 他有四个参数,前面两个是坐标,就是横坐标,重坐标,然后第三个是颜色, 如果有多个颜色用这个竖杠隔开,然后最后一个是相似度,相似度就是零到零到一, 然后他有一个返回值。 呃,如果,如果对比那个颜色,如果是是我们,嗯,正确的颜色的话,他就是 返回匹配匹配的颜色序号啊。就是说 啊,我们测试一下,测试一下吧,就是他,如果,呃全部都不相等,就是我们那个给的颜色全部不相等,他就返回负一啊,他这里有个例子啊,有个例子我们复制一下, 嗯,对,我们粘贴到这里来啊,之前我们有讲过,这里我们点一下,他没有那个输入的地方了,对不对?我们点一下,普通在 点原文件,然后再点他就有这个光标了,我们粘贴,然后,嗯,他这个 坐标啊,不是我们想要的坐标,然后我们重新截个图 啊,我们假如说我们要对比这个雷电模拟器, 复制这个坐标, 对吧?我们把坐标改成我们想要的,然后颜色的话,呃,我们之前有说过啊,就是 把这个颜色加入到点一,加入到点一,然后我们先把 这里的话,如果点一下,他就是全部勾选,如果再点一下就全部取消,就我们只要需找我们需要的这个颜色就好了,我们需要的这个颜色打勾,然后他这里看到没有颜色描述,这里我们可以直接复制, 然后我们把这个颜色粘贴到这里 啊,现在的话就是我们想要对比的了。嗯,然后我们调试一下,看一下啊, 匹配颜色的序号为零。呃,为什么是零?因为他第一个是从零开始的,假如说我们再加一个颜色, 我们加一个黑色, 我们黑色放到前面啊,黑色放到第一个,黄色放到第二个,然后我们复制一下, 我们把这两个颜色都粘贴过来,然后看一下,看到没有?他匹配的颜色序号是一, 第一个是零,他是黑色,跟我们这个坐标这个颜色不一样,对不对啊?第二个是一 一,然后他这个颜色就是我们要找的这个要对比的这个颜色黄色, 他这个顺序呢?是从零开始的,就跟我们的坐标一样,我们的坐标也是从零开始 啊,假如说我们划过来啊,对吧?我们再启动一下没有匹配的颜色, 因为因为什么呢?因为他这个返回值没有找到的话,他返回什么?返回是负一,负一的话他是等于负一的,他不大于负一,所以说就没有匹配的颜色,对不对?这个是比色啊? 啊?就是对比指定位置的那个颜色,看他有没有变化,对不对? 然后我们可以加个循环, 那我们在这里加个循环,我们上节课有讲过这个循环,我们把它拖到中间,对吧?最好呢?就啊,就是我们在后面加一个延迟,因为它对比的太快的话也不好。 哎,这样我们让他一直对比,一直对比。我们看一下啊,你看他现在是有匹配到的,对不对?我们滑动一下, 他没有看,他没有匹配到了,因为我们已经超出那个范围了,对不对? 他现在找到的是零的话是黑色,就是我们添加的那个黑色,现在我们把它把它移过来,看到没有?他又找到这个黄色了。 比色呢?他跟早色不一样,早色他可以 随便更换位置,对不对?他比色他只对比这一个点,就对比这一个坐标,对不对?他坐标是不变的,就说你如果你滑动过去,然后你这个坐标没有这个颜色了 啊,他就对比不通过了,对不对啊?这我们是对比一个点, 还有一个对比多个点的颜色, 假如说我们在这里啊,多加几个点,我们加了两个点了一个黑色,一个黄色,然后我们再加一个黄色,第三个、第四个, 第五个、第六个啊?就这么多吧。 嗯,多点比色看到没有?我们可以调试一下的, 他结果结果是一多点比测的话,他返回值是什么? 返回零没找到,如果是返回一就找到了,对不对? 然后我们这里直接复制一个例子啊,复制一下, 同样我们也放到这个循环里面, 他找到了我们就怎么样呢? 找到了就让他跟我们说找到了,如果没找到 要让他跟我们说没有找到, 这个定义我们不需要。 好,来我们看一下,看他找到了,对不对?如果我们给他一个位置 找不到了, 然后我们之前上节课,嗯,不是上节课啊,是第三课,我们有讲那个笔色 啊,枣,嗯,枣色啊,和这个多点枣色,他即便是位置变化了也能找到,对不对?然后我们的 多点比多点比设呢?他就是我们位置变化了,他就找不到了,他是固定的位置,他位置是固定的,对不对?因为你看他,他这个参数里面有这个坐标, 他这个坐标就是固定的坐标,对吧?他没有偏移,他不是按照早上那个找到第一个点,然后再对比其他的点是不是一样的?他这个不是,他这个只对比那个坐标那个点 啊,这是比设他这个原理啊。 呃,假如说我们对,我们可以用这个比赛啊,就找固定固定的 东西,就是固定的一个界面,他不会动,对吧?我们对比一下,如果如果找不到了,就说明这个界面不在这里了,对不对? 刚才我们也试了,就我们拿这个雷电中心, 我们放在原原处,他是可以找到的,对吧?我们移动下来他就找不到了,哎,这这个就是我们的用法,就是对比固定固定的东西啊,我们可以用这个笔色, 嗯,还是 相对来说呢,他跟那个呃 枣色的话就是操作方法是一样的,也是把我们要弄的点啊,全部取出来,然后复制就好了。 那接下来呢?嗯,我们再讲一下这个找图。什么是找图? 找图就是查找指定的图片,他支持多图, 他是支持多土的。 嗯,参数的话前面四个都一样,就是范围, 然后第五个呢就是图片的名字,然后多个图片也也跟颜色一样,是用这个塑杠分开,然后第六个呢 偏色就是图片他那个偏色,然后第七个就是相似度, 然后最后两个就返回的坐标,就是我们找这个图片,呃,找到的话他就返回一个坐标,那个坐标是什? 哪里的坐标呢?他是图片左上角的坐标,他跟我们,他跟我们那个找色不一样,我们 扫射的话他是返回的是第一个点的坐标,他他不管第一个点是在左边还是右边上面下面,他只返回第一个点的坐标,然后图片的话他是返回左上角那一个点的坐标。 那我们现在直接还做一个图啊?嗯?做哪个图呢?文件浏览器吧, 然后我们点这个裁剪, 再点保存,保存到桌面, 给他取个名字叫什么文件? 这是我们文件浏览器,他中间这一小块啊,我们截图的话不用太大,就是把他那个特征截出来就好了。 现在呢?我们添加附件, 这个添加到这里来, 然后我们附近的话,他有时候这里预览的话看不到啊?我们可以点这个 塑料图,看到没有?他现在他在这这个位置就可以看到这个图片是什么了, 就是,呃。

大家好,我是天峰,今天我来讲按键精灵基础知识啊,第十一小节图形命令,这图形命令在这边啊,基本命令这里 啊,有这么多,但是主要使用的话就是找图啊,这个找图的话就是坏坏的 picture 啊,查找指定的图片啊,他只如果查找的话,只返回第一个找到图片的坐标, 如果没有找到话,呃,他会返回复议。我们看一下怎么去写这个代码。好,点击这里双击 啊。首先是这个关键字, five picture, 然后这里画就是范围。嗯,直接举例子看一下吧,就找这个, 就找这个,呃,回程时就行了,选择范围, 物质范围好粘贴进来,然后后面的话,这里你要改的话就是改这个一这个名字,这个名字就是图片的名字。首先我们要截取一个图片啊,点这个裁剪, 然后选取这个范围,你要选的话最好选那个图,在这个物品里面不要选到背景去啊, 选到背景的话,背景会不停不停的变化,只要变化了一点点,他都会说这个图片不存在。所以你要截取图片的话,一定要截取到这个图案的里面,图 标的里面,点击确定啊,截裁剪完之后点保存啊,我们放在桌面上就行了。保存,然后给他改一个名字, 围成时。好,这个图片的话已经保存到本地电脑里面,但是想要使用的话,你必须把它放到那个脚本的附件里面,点击这里附件, 然后先,然后点添加,然后点桌面,然后点击这个回程时,这样子的话就会把你这个图片放到你那个脚本里面了,他就可以调用了,这个非常重要的哦,不要把他忘了。然后这里 这个一改成回城十,然后这里话就是偏色值啊,这个什么叫做偏色值呢?就是啊, gb 三种颜色啊,他的偏偏移单位 啊啊,两个,两个零的话就代表一个。呃,颜色这里啊,然后狙,然后这里是 brgb 三种颜色红黄蓝吗? 啊,这个偏移植的话,一般的话我们给零五零五零五就行了,一点点偏色值不要这么严格, 放宽点条件。然后这里话就是查找方向,如果你是从左上往右下查找了,他只会返回左边左上角第一个查照的查到的 图片的坐标。这里已经写了,只会返回第一个找到图片的坐标。如果你这边的话,右下角也有一个回程石的话,他不会返回这个坐标了,他只会返回第一个, 因为你是左上往右下找找,所以他的大概率话会返回左上角的图片的坐标,所以话你想啊,返回哪个坐标的话,你改一下这个方向啊,这方向在这里 啊,之前讲过了,跟个枣色的差不多啊,从中间找或者从左上往右下找都行, 然后相似度一般给他零点九就够了。然后后面的话就是 interis ssy, 这个是固定的,不能改, 我们调试一遍吧。啊,这个樱桃 s 樱桃 y 要先定义它是个变量调试 啊啊,后面的干咬到了啊,注视掉, 如果找到的话给他输出个,找到了 我们换个位置吧,继续看, 只要找到这个回程时,他就会输出这个找到了。好,我们把这回程时放进去吧,再调试 啊,他就会直接结束,就是没找到,能给他一个输出吧, 我们调试一下,没找到话他会就会返回。没找到 啊,这个就是图形命令,找找图命令啊,现在我要封装一下这个函数,封装的话我就不再多讲了,因因为非常简单,我就大概讲一下吧, 把这个完整的函数放进来,然后去掉注释, 给他一个副词, 然后这里也是给他一个复制, 来个 boss 吧, 然后我们改一下那个参数,那图片的话就放在这里啊,这样子写的话肯定是错误的,我们要用那个强制连接服把它连接起来。 好,这样子写,然后这里话也是用强制连接符给连接起来,连接两个字符串。嗯,我们调试 图片的话,这个参数改成回城时,注意啊,这个图片名次一定是字符,算 很调试啊,这个仓鼠要放进来替换它 啊,我们看一下 删掉,这里没有定义 这个参数的话要怎么定义啊,看一下是不是下面有错误哦,是这里 啊,范围的话,我没,我没选选这个范围 啊,放到这里调试,这个就是风装好的函数了 啊,你要找什么图片就改一下这里,然后啊在这里截取一下那些图片就行了,这样子裁剪, 然后放进附件里面,这个就是找图命令的封装函数。好,我们接着封装下一个函数,找图点击,这个话也非常简单,就是加一个随机点击,点击那个返回值啊,啊,就是第一张图片的 坐标的返回池,点击他就行了啊,给他一个偏移吧啊,如果找不到的话,我们就不去点击,很直接调试,你看找到了就点击, 我们把这个回程师放好 啊,没找到的话就直接结束, 你们照着改一下就行了,加一个点击的命令。好,我们看一下图形命令的第二个命令,截图命令,这个命令话也比较简单, 好在这里啊,截屏至文件,首先是他的关键字,然后括号里面第一个参数就是保存的路径, 这个路径的话我们一般放到那个共享文件夹里面。首先我说一下什么叫共享文件夹,共享文件夹的话就是说啊,你手机里面有一个特殊的文件夹,只要你在这个文件文件夹里面添加文件或者删除文件 啊,电脑里面对应的文件夹就会出现,对应的文件会被删除或者添加啊,两边的信,两边的图片或者文件是共享的,同步的, 这个叫做共享文件夹,你在这里添加什么,手机里面就会添加什么啊, 一般的话这个路径就是这个路径,把它放进来啊, 没,没保存到复制啊, 这样子吧,我们复制这里就行了, 他一个斜杠,斜杠后面是一个文件夹的名字, picture pictures 啊,然后再给他斜杠,这个斜杠的话就是他图片的名字, 给他 png 格式的啊,这个就是保存的路径了,保存在这个文件夹里面,他的名字叫做 图片,然后给他截图, 我们就截取这个角色吧,这个范围确定点这里复制范围,添加进来啊,调试 啊,删掉这里。 好,现在我们打开这个共享文件夹, 你看这个图片就保存到这里了啊, 我们换个范围看下是不是这里吧,不知 啊,大家注意看一下这个共享文件夹, 点击调试,这个图片就会被覆盖掉,因为这个名字是相同的话,会覆盖这个之前的图片 啊,这个就是截图的用法了,这些图形命令的话,还有其他的命令,比如截图到内存,然后释放内存里面的截图,这两个的话也比较常用,也就是说当你 啊要查找这个屏幕上那些内容的时候,如果内容比较多,或者要反复的反复的去查找上面内容啊,你就把这个 图片截图到内存里面,以后你找图的时候都会找这张图片了啊,你再怎么找都是找这样被截到内存里面的图片了,他不会找其他图片,直到你释放这个内存里面的截图啊为止 啊,他是这样使用的,他是没有参数的,就这样使用啊,这样子的话就可以啊,在一张图片里面找多种图标,多种图案啊,因为你屏幕如果内容一闪而过的话, 如果你不及时的去执行这个命令的话,时间太短的话就找不到这个图标,所以你要把那个截屏啊,放到那个内存里面 啊,再怎么找都是找这张图片,直到你释放内存为止啊,这节课就讲到这里。

好啊,大家好,我是小乐啊,之前我们有说过啊,这个字库的一个用法,对吧?但是我们没有说怎么封装啊?今天我们来说一下啊,就是说我们使用字库的时候啊,首先啊,我们要先做一个字库啊,那做字库我们之前也讲过啊,这里我们再重新做一下吧,比如说我们做这个啊,文件浏览器,对吧? 哎,我们做文件浏览器,首先我们要把它给框起来,把这些字,对吧?框起来,然后我们再选择字的一个颜色,对吧?好,这个是纯白的一个白色啊,六 f, 然后因为这个字啊,他有啊,明的啊,有暗的,他这个啊颜色不纯,所以说我们也可以再加一个,比如说这个啊,偏暗一点的,再加一个,加到颜色二,对吧? 好的,那么这里有个制作智库啊,抓到里面,然后我们提取点赞,这里啊他有单个啊,有多个,多个的意思是说他把这些字啊全部分开,就是说啊,然后这边我们可以设置行间距, 夜间距,对吧?我们点点一下,以后呢,他这里啊,他就把每个字给分开了啊,看到没有?但是这个文件的键看到没有,他的偏旁和右边啊,完全的分开了,还有这个浏览器的,哎,浏览器也分开了, 这样呢,他就导致我们,哎每一个字分开不容易去做字库,所以说我们可以干什么啊?也可以就是提取点赞,提取单个,提起单个呢,他就是把,哎我们框几个,他就把这一个全部放到里面来,当做一个字,嗯,这是两种方式啊,但是我们把所有字都框进去了,他就不适合这样做了,对吧?所以说我们就一个字一个字框起来,然后这个这这个偏色呢,其实还可以再大一点 来,太小的话他这个字不清楚,我们可以用那个哎 qq 截图,然后来放大看一下他的字体,哎,够不够饱满,对吧?有没有缺东扫西的? 好的,那么我们现在就把它给分开,比如说我们前面,我们还不做,我们从这个纹开始,对吧?文件的纹啊,就做到这,然后我们制作字库这里啊,提取点赞,提取单个,对吧?他就单独一个字啊,他就出来了, 然后这个字呢? 嗯,比如说我们要放到桌面,这个叫什么呢?来测试吧。啊?测试测试智库, 好,打开,我们打开新建就新建,新建一个字库到桌面,或者打个选,选中一个字库,哎,然后接下来这个文字呢,字库呢?我们就做到这个啊,这我们新建的这个里面,对吧?或者我们以前做过的里面来往里面添加,那这个字就是文,对吧?点回车,他就自动添加进去了,或者点击这里按回车,或者点击这里,然后这个是一个字,然后我们再加一个,再加一个文件的键,对吧? 那文件的键我们可以少选一点,就像他这个,哎,这里有多余的一块,对吧?我们可以往左一点啊,我们不要那多余的一块,对吧?我们少一点也可以,然后哎选中这边往这边拉,来到这里,哎上下因为他没有没有杂色,所以说我们可以稍微大一点,无所谓,那我们这边也是提取单个,对吧?然后这是文件的键, 我们提取的单个,他像这种不连接在一起的地方,哎,就给他组合成一个字了啊,那就做,就做两个做,呃呃,做个例子就行了啊。然后做好了以后,我们附件里面就可以添加我们刚刚做的智库,比如说测试 智库,打开,哎,添加到我们的附件里面,然后我们使用的话是怎么弄?哎?设置文件之库对吧?设置连号之库,他的名字叫什么?附件里面他的名字叫测试 智库,我们看一下对不对啊?测试智库对吧?测试智库啊,名字是一样的,然后后缀都是啊,文本形式的,然后接下去还有一个使用智库啊,这个使用几号啊?零号,我们前面设置的是零号智库,这我们使用也是零号智库啊,一般的话,如果我们只有一个智库,我们就这样用,对吧?如果有智库很多的,你想切换智库,那么就把这一行代码放到你想切换的地方,然后改一下序号啊,就可以了。 然后接下来我们可以对字库进行两种操作,一种是区域找字啊,一种是文字识别,文字识别就是固定区域,我们先讲这一个啊,嗯,在指定范围内符合指定 相似度的啊,颜色偏一特征的支付串啊,其实讲的模棱两可。这个介绍啊,那么实际用法呢?那我们就是一行代码有 ocr, 然后加上什么范围,还有颜色,还有我们的相似度啊,我们只有几个参数,四五六六个参数, 六参数,我们可以对他进行一个封装,比如说这个叫智库相关的,他叫什么?叫十字,哎,十字的话他的范围是固定的,那就是 x 一,万一 x 二, 哇,这是范围参数哎,我们随便起名字啊,都可以,还有一个颜色,对吧?颜色完了还有相似度, ok, 这是他的参数,然后我们把这个东西啊放进来,那么我们想一下,我们要接收他的一个返回值,对吧?所以说我们定一个返回值,让返回值接收他的识别的内容,对吧?然后识别到了具体的东西呢? 然后把参数放进来,他就是按这些参数来进行识别的,哎,我们直接传进来就好了,然后我们对返回值进行判断,哎,如果他返回值等于什么?等于空, 制服串的一个空,他就是什么没有识别,结果返回这是制服串,看到没有返回识别到的制服串失败啊,失败的话他就返回空,哎,这个空呢?那是制服串的一个空啊, 没识别到啊。反,然后我们就函数,他都是有返回值的啊,我们返回值字库十字等于什么?等于假,那就是没有识别到,哎,否则呢?哎,就等于真,对吧?等于真的话,我们不不需要直接让他等于真啊,我们让他有东西,哎,就有东西,他就是真,让他等什么?返回直,就我们识别到的一个啊,字符上, 哎,封装就是这么简单啊,几行代码就搞定了,然后我们调用的话啊,就是把这些复制过来,然后干嘛把参数填进去?比如说我们 给他一个假的范围,对吧?没有东西一个范围,然后颜色,颜色就我们刚刚做字库的一个颜色,哎,这个一定不能搞错,相似度呢,那就零点九好了,我们输出一下他的返回值啊,看一下第八行,看到没有,他的返回值是假,说明 如果识别不到他这个反位置,返回的是什么字符串的一个空,对吧?他不是那个路那个空啊。好的,那么我们现在知道啊,我们现在封装的没有问题,那么我们就哎直接在这里给他空选一个范围,然后让他识别 好,改成正确的范围,我们识别出来看看是什么,识别出来是文件,对吧?因为我们只做了两个字,只做了文件这两个字,所以说它识别出来就只有文件,哎,这个是我们识字啊,文字识别的一个封装,那么还有一个是区域找字啊,区域找字怎么封装啊?就是给他一个范围让他找返回,什么返回找到了一个坐标 啊?那么我们先点双击一下啊,我们看一下他的,他的就是一个是查找一个范围,但是不建议全屏找啊,全屏找很慢的啊,我们找字呢,他是他是在这种找图找图找色里面啊,相对来说是最慢的一个啊,然后他找这里是找了一个字,哎,找哪些字,对吧?可以是单个啊, 哎,就是根据你做字库命名的,比如说你在这里文字定义你定义了很长很长,对吧?那那你找的话也是要找这个很长很长的这个字,哎,像我们就做了一 一个字一个字分开的,那么比如说我们找到文件的文,对不对?然后这里是颜色啊,相似度 好了啊,我们继续说一下啊,啊?这个是颜色啊,相似度,然后他有返回直,哎,反回直就是找到这个字的啊,一个坐标,那么我们封装啊,是怎么封装啊?我们来封装一下啊,这个是智库相关的是什么?哎?枣子,枣和石啊他是不一样的啊他肯定是不一样的。枣的话啊他的缺点就是哎速度慢。 十字呢他就是固定范围识别有哪些字,哎这个速度还是很快的啊。看自己需求啊。那么其实他这也差不多啊前面都一样 哎范围范围颜色相似度那颜色前面还多了一个啊要找的痣对吧找哪些痣? ok 然后我们把参数复制粘定啊我差点把返回之啊 参数复制粘贴过来啊然后这个呢就是我们一个枣子他是支持多个制服串的一个组合啊对吧如果比如说你好我好什么什么的,哎他支持找多个字 啊比如说我们做的是一个纹还可以加个竖杠啊箭对吧。哎搞错了啊就在这里在这里加一个箭 这个锁影值呢其实是啊返回什么返回找到的那个字的序号啊一般的话是用不到的一般用不到啊看你自己需求吧 一般情况下我们就是找到那个啊就可以了然后我们进行一个判断这里呢我一般都是喜欢用 x 和 y 的。好那么我们定一下 x 和 y 对吧他是不区分大小写的。我这个强迫症啊换回来吧。好我们判断如果 x 干什么大于负一那么就代表他找到了对吧。 所以说找到了我们就干什么 让他等一针,哎如果没找到呢那就让他等于假 好找到等于针然后我们还可以加一个东西对吧?哎是否点击加个点击这个参数哎如果我们判断一下啊如果点击等于一我们就点击对吧哎直接点什么 x 和 y 哎如果还有其他需求比如说偏移点击呢啊你可以再分装一个啊,然后这里加上偏移啊,这里加上偏移偏移,挨个的偏移外偏移啊,偏移多少?哎,看自己需求吧,对吧。啊基本上就是这样啊,然后我们进行一个吊用啊 啊不用返回这也行?我们直接输出啊直接输出,那么我们把这个也复制过 来, 这里颜色前面应该有我们要找的一个啊字找文件对吧?找文和件,那么我先我们先找一个啊先找一个这里我们让他输出一下,找到了我们让他输出一下,找到了坐标来方便我们查看啊, 来我们试一下啊,调试他都不匹配哪里不匹配啊?哦我们少了一个点击啊,要不要点击对吧?要不要点啊?不点。好,我们来调试。哎这颜色相似度点击对的呀, 都取关了啊。 哦那我的问题啊,我没有改啊,哎我们调用这个函数啊,函数名没有打上去啊,我还是用了原来的命 好了啊这里我们来再来试一下啊,哎他找到了,对吧?在幺九九七零幺找到了反馈就是真啊幺九九七零幺,我们看一下抓抓幺九九七零幺,哎是这里他是找到这个文字的左上角的一个坐标,其实那个文字呢就相当于一个图片啊, 对吧?我们来看一下他这个左上角是黑色的啊,所以说我们这边所以说我们这边他也是在这里幺九九七零幺这里 这个就是我们找到的一个坐标,那么如果我们换一个字啊啊文字幺九九七零幺那个键呢?我们来看一下啊,他也找到了,在什么二幺六七零零对吧? 二幺六七零零啊,这里对吧?他也是一个左上角的一个坐标。好的,因为我们这个范围给他给的很很小很小,然后我们给他大一点的范围,比如说啊我们这样对吧? 选这么大一个范围,我们在这个范围内里面再找,那他是不是啊还能找到呢?我们调试那他也是可以的啊,就是感觉啊有点慢啊,范围大了他有点慢 哎,我们找多个字就用这个竖杠隔开,比如说比如说他有时候一个字他不清楚,我们又添加了一个字啊,但是我们又添加了一个字呢?他他这个如果两个字都是一样啊,我们添加的还还是按这个来。那就不用隔开了啊,除非是比如说你,你找一些小动物啊,比如说牛羊马这种,哎你可以就是你找到哪一个都行,你就用这个竖杠隔开啊,就隔开两个字 啊,这个就是我们一个哎识字和找字的一个封装方法,当然了这种封装方法是最简单的一个也可以干什么也可以把它做成。就是我们之前有讲过一个就是哎放到我们数竹里面啊,但是具具体哪个方便啊,哪个好用来完全看你自己啊,怎么使用了啊? 如果你觉得这种方式方便呢?你就用这种方式啊,如果你觉得就是在前面定义一个数组,比如说呃字哪个字啊?这个是文件的文对吧?哎呀,也也不对啊, 来文件来等于来我们要找的找到这一串哎,放到这个数轴里面去,对吧?也可以利用这种方式啊 啊?然后具体这种方式怎么封装我就不说了啊,因为都是差不多,对吧?你看我们找字识字跟那个找图找色啊有什么区别呢?还都是把参数一个一个一个的啊?对应,然后给他放到我们封装的前面啊,然后里面加判断啊什么的,没什么区别啊。好了,这节课我们就说到这里啊。

啊啊大家好我是小德啊今天给大家录制一期啊就是我们通用的啊函数分装哎之前我们有讲到过啊早图的啊对吧呃就是这个啊第七课里面啊认识函数里面我们简单说了一下其他的对吧然后这里啊我们来总结一下我们经常用到的对吧好的,嗯 哎第一个呢就是我们经常用到的是这个水激素对吧哎首先我们封装一个水激素 哎他有两只对吧哎最小只和最大只然后我们啊让他返回到我们的哎函数哎或者嫌迟多了我们可以两个名字啊随机哎随机最小 之后最大止咳哎他有这个通用的哎公式啊所以说我们不用修改啊不用修改然后需要注意的一个点啊需要注意的一个点就是我们一个随机树种的啊 嗯他没有啊 他居然没有啊 啊这个哎出实话啊随机树啊这个我们一定要放到第一排啊就是我们写胶本啊第一行啊我们就放这个啊随机树就好啊随机树种子然后他我们只需要啊调用移池啊这个随机树种子后面我们这些啊就不需要了啊不需要哎然后我们中间哎来进行写我们的代码 哎哎我们的代码写到这个中间对吧哎我们所有的函数啊放到最后。好这里就是就是写我们代码的地方对吧然后这里啊我们开始封装函数啊 我们的代码是需要定义啊定一些变量的对吧哎这样放定义然后后面啊开始写其他的啊不够啊我们就按回车哎定义变量对吧哎这里是啊全局变量然后然后写功能, 哎这里写我们自己的功能,对吧?哎可以封装函数啊纸程序,对对对吧。 好了这是我们第一个啊随机随机然后然后我们还有什么啊点击对吧 点击有啊 xy 坐标,对吧?还有一个 zz 我们可以自定义啊一个延迟啊,对吧? 哎我们随机点击,哎可以起到防风的作用啊我们给他一个范围啊负五到五之间对吧?来这样的话他每一次啊点的坐标都不一样 啊。还有一个 z 我们等待时间啊等待时间 啊就是我们点击了之后啊随机点击之后啊我们还有一个等待时间啊自定义啊等待一秒钟什么的,对吧?啊我们把它用法写一下啊哎随机, 比如说一到,哎一到十,对吧?然后点击,哎一百两百这是坐标啊我们用一二三二三四啊这是坐标,然后等待一秒钟对吧哎这是我们点击的用法然后,哎我们还有一个, 哎。可以弄一个什么哎延迟的啊延迟, 哎。我们给他随机多少啊呃一百到两百之间啊然后我们这里就可以加上了加上我们的啊延迟 如果我们不用加太多啊可以写个零,对吧?来让他零零的话他就是一百到两百之间啊, 哎延迟一秒钟哎他这个一秒是随机的对吧好的,嗯这是随机延迟。点击延迟对吧。 这名字无所谓啊,我们可以自己改,哎然后还有什么还有找找图找色之类的,对吧,来我们看啊 啊我是啊我是习惯用 xy 啊我就会给他来删掉啊。好,我们现在封装啊找事啊找事, 哎这种参数我就不用说了吧,我们一一是带入的,对吧?哎颜色颜色后面我们就不需要了,这种我们直接默认就好啊,因为基本上不用改,对吧?哎,这里我们改成什么改成颜色啊,哎让他来程序外面调用啊,这里直接复制就好了, 好,来试个坐标颜色啊,对吧?来其他都是默认来,这是我们找色啊找色 啊,然后我们有个返回纸啊返回纸,然后找射,哎。找到让他等于针对吧哎,没找到呢,哎。我们可以在刚开始溜啊,写个找射等于假, 对吧?他没找到,他不运行里面的,他就啊一直等于,这样我们就有返回找到没找到,对吧?这是我们找事啊找事找事可以全频道也可以固定范围吧哎。一百一百五,然后两百二百六, 好,我们在这个范围内啊,找什么颜色,对吧?我们就比如说就是这个颜色就好啊找这个颜色,哎,我们就这这么多啊,一行代码就掉用了,对吧?啊我们可以进行判断一下啊,如果找色等于真,哎就代表有这个颜色啊。好了这是找色啊找色还有什么,哎多点找色,对吧?我们两个颜色三个颜色啊,颜色多的时候啊,多点找色 啊。也不是说颜色多啊,是对一个啊,哎,我们要么要么早涂要么多点枣色的吧,哎然后我们这个呢这个枣色是单点啊单点,哎。他这个颜色如果有多个颜色啊,中间用竖杠隔开 哎多个颜色啊,中间用竖杠隔开来,是这样的啊这样的啊,然后我们现在是多点啊多点找色,哎。多点找色怎么封装啊?其实差不多啊, 来找射,来多点,哎,这样的话,哎,我们打找射啊,然后啊我们把找射放在前头啊,我们打找射啊,我们混装好打找射的时候啊,可以自己选择是单点还是多点的,对吧?哎这里也一样啊, x, 哎,坐标和颜色啊,我们看一下啊,哎复制完整的 好,我们这里坐标要改成这样的,然后颜色他有两个颜色,对吧?还有前置颜色,还有后后置的颜色,对吧?他有两种,那我们颜色啊,颜色一颜色二就 这么多,看这里颜色一颜色二,然后方向和相似度啊,可以默认,对吧,这样我们就不用太多的代码,哎同样,哎,我们找到啊,找到的时候啊,找不到的时候啊,哎。找到的时候让他等一针, 哎。然后我们还可以加一个啊,是否点击,对吧?来点击, 哎,这里进行一个判断,哎如果点击等于啊,我们自自定义就好了,哎我们不管让他等于真点击或者点等于一点击都可以,对吧,我们这里用一啊,如果点击等于一,我们就点击,对吧? 直接吊用上面就好了,就用这个来点击他有哎参数的啊,点击 x 哎 y, 然后延迟时间,哎,我们给他一秒钟就好了,对吧?一般都是一秒就够用了, 对吧?哎这里给他延迟了,对吧?好,这是我们找射啊,多点找射啊,带点击啊这里我们这个找射也可以加一个啊,加一个点击,对吧?哎如果找到了啊如果,哎点击等一我们就干什么,哎点击这个位置,对吧?哎。 xy 一千 来,或者给他改成延延延迟来,延迟一天来,或者改成这个,对吧? 哎看我们需求啊,如果你对这个时间啊没有特别的需求啊,就固定时间也行。好,这是多点找设啊多点找设 啊,还有一个多点鄙视的这个因为我们复制出来就一行代码对吧那就一行代码,嗯封装一下也行啊封装一下也行, 嗯。比色啊这里叫比色啊。比色, 哎。他这个颜色啊就是一串啊,一串到底,哎颜色然后相似度啊,零点九固定也行啊这里直接啊颜色就好了对吧。哎我们可以这样 哎也可以让他有返回者啊我们不让他等于一啊,让他等于真假也可以的,哎。比射哎。等于假,哎。他对比失败了,他就是假,如果对比成功,哎。比射等于什么等于真,哎我们改改了他的返回者啊,本来他比射成功,哎。等于一的,哎。失败等于零,我们现在给他改成真假了,哎这样就行啊这样就行。 来我们复制了一下啊,就拿这个做栗子,对吧,颜色有点多,三三几个, 嗯两个啊,这是两个颜色啊。好,我们直接对比这个对吧。还可以这样用啊,然后多点比色的,我看看啊也用两个。这栗子啊,多点枣色的。说错了,多点枣色。 好,我们是这这个颜色的,哎。然后坐标的话,嗯,哎,我们这里栗子就先用这个代替啊, 你看是否点击啊。加个一他就点击对吧,哎我们这个找设置啊,忘了加啊这个加个一他也是点击。好的啊。这是我们笔色的啊笔色的也好。最后一个啊,找图,哎对吧找图 找图。我们也封装一下找找图, 哎我们的坐标还有图片啊图片名字对吧? 好,我们这个图片啊就根据我们输入的啊来进行一个命名的, 哎我们找图的时候最好是加上一点偏色啊,如果没有偏色啊容易找不到啊。这是一个注意呃一个注意事项 啊我们安卓版啊他返回纸啊这个输出啊返回坐标。我们可以这样写啊两个放在一起啊加个逗号啊这样可以这样写啊,就省一行代码对吧。哎如果我们不需要就可以把这一行给删掉啊也可以对吧。嗯大概就扔啊该找到啊输出一下坐标, 好,我们这个找图啊找图,如果找到图片了我们也加一个判断,对吧,哎是否点击的对吧?哎点击, 哎,没找到,哎。找图。先给他一个啊,假,哎找到了让他等于真 对吧,找到让他等一阵,哎然后我们这里判断一下啊如果啊点击等一来我们就点击啊来点击 xy, 然后延迟,哎一秒钟啊,就这样,哎这是我们找图的啊找图, 哎差不多啊差不多就是这些啊,哎随机延迟。点击啊找图找设啊比设,哎还有一个滑动啊这个找图,我们,哎,哎 啊全屏找是四个零啊然后我们的图片啊对吧,图片双引号啊,还比如说啊,嗯浏览器啊或者 qq 来改其他的吧,哎是否点击加个一九点击 啊这是我们找图的对吧?啊然后我们再弄一个啊滑动 来,他有坐标的来坐标也是四个,这是我们滑动啊啊我们看一下他的命令啊坐标,嗯滑动时间是可选的哎然后我们可以自定义啊滑动时间对吧我们可以自定义啊然后啊延迟, 哎滑动使劲对吧哎这就哎变成了一个随机的对吧然后我们滑动看一下是不是也要随机啊要随机我们就加这个, 哎看需求啊啊不需要就不用加了啊。哎我们可以啊四个坐标全部加上啊这这样啊他每一次滑动啊坐标都不一样对吧。好这是随机滑动啊 我们试试啊先保存滑动来滑动到左从右往左滑来时间给他改成两秒看他是不是啊费时很很久的调试。 这个忘记了忘记了啊怪我。哎这个点击我们之前讲错了哎他点击是两个坐标这里应该用什么 哎我们延迟里面已经封装了延迟了对吧哎这里直接延迟啊点完了直接让他延迟多少 啊。延迟这来我们制定一时间啊 啊还有一还有地方没没搞对好像 来这里来这里我们就要 哎不要加延迟了不要加延迟来直接让他这样就行了哎直接让他滑吧哎他滑了两秒钟对吧哎这是我们滑动的滑动 哎这里也搞错啊点击延迟啊他后面这是数字啊如果我没有延迟的话就不行了对吧哎这里跟上是数字 嗯这里也一样也一样那我们就把这个改回来吧。 呃加入到点一好比如说我们现在要找这个颜色对吧 哎比如说我们现在要找这个颜色啊而且要要他点击,哎我们现在全屏找了好调试哎他点了对吧哎点了还给我们返回了坐标来找没问题啊 那我们现在点击这个作用呢对吧。好他也点开了啊点开了, 哎其他的这两个就不用试了啊,大概就是我们常用的啊,就是这么多,对吧?哎,点击延迟滑动,哎,找图找射啊,比射。

哈喽,各位观众朋友们大家好,我是酷玩文仔,那么这一期视频的话呢,我来讲一下这个后台找图, 然后关于这个后台找图的话呢,用到一个 bgcp 的后台涂色插件,这个插件的话呢,他不是按键精灵官方自带的插件, 就是说你们下载的按键精灵的话呢,是没有这个插件的,我这里的话呢,有这个插件啊,是很多年前我在按键精灵的论坛上面找到的,然后的话呢,这个插件我也会放到我的百度网盘上面,然后他的下载链接也会啊放到视频简介里, 那么你们下载下来这个插件的话呢,它就是这样一个压缩压缩包后台涂色插件, bgcp v 二点零二一认证。那么这个压缩包里面的话呢,它有一个命令库, 还有一个网页文件 html, 这个 html 文件的话呢,其实就是一个使用文档,你可以在这里打开它直接看,也可以在按键精灵里面也可以看得到的这个使用文档。 然后怎么用呢?直接把这个压缩包里面的这两个文件把它解压到按键精灵的这个插件目录,比如说我这个按键精灵的话呢,就安装到底盘按键精灵,按键精灵二零幺四这里里面的话,有一个插件的,有一个插件目录, 直接把那个命令库还有这个文档一起解压到这个目录里面就可以了。然后的话呢,刚解压完之后,可能要重启一下按键精灵才能看得到,那么这里的话插件命令这里就会多了一个后台涂色插。 这一期视频的话呢,我就是用这个插件来实现后台找图的功能,那么这期视频的话呢,我要写的那个脚本的目的跟之前一样也是使用这个技能, 但是的话呢,我这次就不通过这个相对坐标来点击这个技能,我是要通过找图的方法找到这个技能的图标去点击他。不管是后台鼠标操作还是这个后台找图的话呢, 同样要先拿到这个窗口的窗口据柄,根据我之前几期视频所提到的这个游戏窗口的话呢,它是一个子窗口, 我们没有办法通过这个窗口类名来直接获取到它这个窗口句柄,所以我们要先获取它副窗口的这个句柄, 我这里就建一个子程序获取他的窗口据柄,然后在窗口插件这里, 我们首先根据他的类名找到副窗口的句柄, 然后获取到副窗口之后呢,我们再根据这个副窗口的句柄来获取他子窗口的句柄,那么这里的话呢,他是套了三层的子窗口,所以我们后面这个命令要插入三次, 这我就不再详细解释了,不清楚的话就往回发我以前录过的视频, 然后还要定义一下电量, 还要调用这个子程序。 我们这里的话先不急着往下斜,我们先调试看一下输出的句柄有没有问题。 六六三九六,那么跟我们这个抓抓工具获取到的句评是一样的,那么我们就可以继续往下写。 后台找图的话呢,跟前台一样啊,我们要把这个图给截下来他才能找,那么还是这样按一下这个屏幕的截屏键,然后图像这里的话呢, 就可以在这里截一个,截一小部分就可以了,我们要使用这个第一个技能的图,那么就把 这个位图另存为一份, 然后的话呢,我这里就另起一个子程序,然后找到句柄之后就可以调用这个子程序。 那么接下来的后台找图部分就是这一期视频的重点了。后台找图的话呢,首先他跟前台不一样的是,他首先要有一个载入文件数据,这一个过程 我这里写的很清楚啊,后台找图需要先找入 bmp 文件数据啊,这里打错了,不是 bmg, 是 bmp 文件数据,如果不找入的话呢,你找图的话,他只会返回一个负一的坐标给你,就是说什么都没找到, 那么他这个说明文档的话呢,他这里有一个脚本例子啊,我们可以直接把这个代码把它复制一下,然后拷贝到这里, 然后他这里的话呢是同时加载多个图片啊,我这里的话只有一张图,所以就不需要用这个竖线来分割,但是的话呢,我这里的话需要把这个路径也把它补上,然后他下面这里的话呢, 就会检测它这里返回的是一个布尔值,然后这里话就判断这个布尔值它是处还是 false, 那么如果是 false 的话呢,就是失败,那就 弹窗显示载入图片失败,然后结束脚本,如果是成功的话呢,就继续往下执行,我这里的话可以先调试看一下,那么他没有弹窗弹出来,应该就是加载成功了 这个图片如果载入成功的话,我们就可以开始找图了,找图的话就用这个范围找图的命令发 piche, 然后这个命令的话参数比较多,我们还是来看一下这个说明文档,说明文档很重要啊,如果你们学会自己去看这个说明文档的话呢,基本上按键经营的大部分的命令你都可以无师自通啊,只要看懂这个文档你就会用了, 直接把这个脚本例子把它复制上去吧。然后的话第一个参数是传口句柄, 参数二和参数三就是左上角的坐标,那么左上角的坐标的话呢,就是一般都是零零了,从最左上角开始找, 然后参数四和五的话呢,就是右下角的坐标,我们只要根据这个游戏窗口的大小来找就可以了,然后我们可以在抓抓工具这里都可以获取的到他这个游戏窗口的 范围有多大,那么这里可以看看到客户区大小,他的大小是四七六六五四,所以我们找出的时候右下角的坐标只要填四七六 六五四就可以了,这个参数的话呢,就已经是足以把把这个游戏界面覆盖掉了。然后第六个参数的话呢,就是 数据句柄或者图片文件路径,就是说我们可以直接把这个路径把它复制下来,或者是直接把这个 数据据柄放进来就可以了。然后注意的话呢,它这个 b m p l a, 它这里是一个数组,那么数组的话呢,后面是要加一个下标的,我们这里的话呢,只有一个一个图片啊,所以的话直接取数组的第一个参数就可以了, 参数其实这个颜色最大偏差,最大偏差的话呢,自己电脑上面用的话就不用管他,直接填零就可以了,相似度的话呢,我一般习惯给零点八,这个看个人喜好没什么好说的, 找不到的话就可以再调低一点,然后最后两个参数 x 和 y 就是它的返回值,就是横坐标和重坐标,如果没有找到的话呢,它就会返回负一,找到的话就会返回相应的坐标值, 我们调试一下,他找到的是九二五四七,那我们可以把这个游戏窗口移一下,然后再启动,你看他这个坐标值是没有变的,说明他这个也是他这里 返回的也是一个相对坐标,是根据你这个游戏窗口而改变的。那么如果找到这张图的话呢,我这里就不弹窗了,我这里就把它改成鼠标点击,我要使用他这个技能,所以的话我这里就还要用到这个后台插件, 这有一个鼠标左键单击,这些都是我之前讲过的。点击的坐标的话呢,就是我们返回的这个相对坐标 x 和 y, 然后它的聚饼的话呢,窗口聚饼就是这一个,然后我们这里要 用到的变量的话呢,最好也是要定义一下,然后我们再调试一下脚本,启动脚本之后呢,我们再打开这个,哦,他这个好,刚才这个界面好像刚好被这个弹出来的这个黑幕挡住了, 这里再执行一次,然后这也可以看到他这个技能的话已经进入了 cd 状态,说明他这个后台找图是成功的。 那么这个后台找图脚本的话呢,到现在其实已经可以算是结束了,但是我这里的话还要再补充一点,就是 我们这里不是有一个这个加载图片的这个命令吗?那他加载的话肯定是要消耗一定的资源的,所以说我们在不需要用到这个图片资源的时候呢,最好把它 卸载掉,他这里的话也有一个命令,当然我这里的话只加一个图的话呢,可能影响不是很大,如果你要做一个比较大型的脚本,他要后台找很多的图片,那么这个加载的话,他这个输出就会很大,那么存储了大量的这个剧品,很消耗这个内存, 所以的话必要的时候还是要把它卸载掉,这里话有一个卸载 bmp 文件数据的这个命令,那么它这里的话也是只有一个参数,它这个参数的话呢,就是我们刚才加载的时候复制到的这个数组, 我们可以把它加到加到这里, 那么这样的话呢,就可以节省一下系统的资源,然后保存脚本, 调试启动脚本。我这里的话技能,因为这个技能他进入 cd 状态之后,他这个图标就会被挡住,所以我这里找图的话肯定是找不到的,我这里的话就换换另外一个技能, 我就截第二个,把这个图片覆盖掉, 然后我这里的话就调试脚本,然后启动,然后这里发现第二个图解进入了 cd 状态,那说明也是成功的。这个命令的话呢,我自己的脚本看不出来这个命令有什么效果啊? ok, 那么这期视频的话就先到这里吧,谢谢大家。

行,这个寻图啊,这个找图寻图要如何的去使用呢?首先呢先点击寻图,可以发现这里面并没有图片,对吧?那么图片如何的去获取呢?点击这边的一个取图啊,可以发现呢,下面就是出现了 呃这样的几个按钮,点击截屏,点击截屏之后呢,当前的这个屏幕上面的图片啊,就是被截取下来了, 截取下来可以看到这边有提示啊,拖动手指截图啊,点我移动到右下角啊,什么意思呢?就是说这边啊,咱们用这个鼠标啊来演示一下,就是拖动这个鼠标, 拖动之后呢就会发现出现的一个横框,那么这个横框呢就是呃截取的这样的一个范围,截取的图片呢就是 是红框里面的图片,接着点击保存截图啊,在这边呢可以对这张图片呢去修改他的一个名字啊,和之前的创建插件是一样的啊,也是可以去修改名字的,上面呢可以改变他的一个存放路径啊, 接着其他的咱们不去管,点击保存,选择保存原图, 这张图片啊就是被成功的给截取下来的,如如何的去知道这张图片截取到哪里了呢?咱们可以去到脚本这边的一个界面里面去点击寻图,那么可以发现啊,这张图片呢就是保存到这里面来了, 第一步呢是把这张图片保存下来,那么第二步要去做什么呢?就是对这张图片去进行 一些的脚本的操作,如何的去进行操作呢?首先呢先去点击下这张图片, 可以发现点击之后就出来出现了这样的一个的界面啊,咱们一个个的来看,首先呢是他的一个的查找的一个范围, 这边呢咱们也可以去重新的选择一下他的一个范围啊,查找一个查找的一个范围,这个范围是一个什么意思啊?刚才咱们保存的是不是这个雷电游戏中心的这样的一张图片, 点击下有没有那个画板的一个的?呃,这边没有,没有就算了吧,刚才是不是截取的这个雷电游戏中心的这样的一张图片,对吧?什么意 意思呢?就是说在咱们这边划定的这个红框里面啊,也就是说呢这个红框里面去找这之前所截取的这个雷电游戏中心的这样的一张图片, 这边呢也可以去调节他的一个的范围啊, 调节完成之后呢,点击这边的一个确定缩减区域,可以发现啊,他的一个的坐标位置呢就是发生了改变了啊,他的起点坐标还有一个终点坐标就是发生了改变了, 当然这边可以直接的去修改他的一个呃选举的一个范围查找的一个范围,接着是一个查找方向,支持 以下几个方向,从左上到右下,从啊,从左下到右上啊,接着是从左上到右下啊,从右下到左上, 从右上到左下都可以啊,支持这几种的方式。相似度是一个什么意思啊?就是说呢查找这张图片的一个近似程度啊,可以这样子去理解他的一个近似程度, 因为有一些的图片他可能是透明图层啊,或者说是一些的原因,他的图片呢颜色呢发生了一些的变化,只要是这个变化性不大,咱们就可以通过改变他的一个相似度去点击这张图片, 下面的这个功能啊,就是非常重要的就是寻图后点击这个寻图后点击是一个什么意思啊?咱们勾选上车,我就会发现点击后不停顿,点击后 停顿,先停顿后点击啊,等等的一些的操作啊,这些电脑版里面也会讲到啊,点这边的选择点击后不停顿啊,什么意思呢?就是点击之后之后不去进行延迟的意思, 这边呢,有一个的呃图这边有一个的图片的点击片仪,这个图片点击片仪是什么意思?后面咱们再去讲啊,这边呢,给他一个零就可以了, 接着选择加入到插件最底部,删除掉之前的这样的一个的点击, 可以发现他就是点击的这个雷电游戏中心了, 这就是一个寻图点击,如果说呢啊,当然还有一种情况,咱们来看一下 啊,如果说他处于这样的一种情况,对吧?图片一直在改变啊,这张图片一直在改变,要去怎么点击呢?首先第一步啊,要去找到他没有改变的图片啊,就是说呢,这上面有哪个元素他是没有改变的,咱们要去找到一下, 还是拿这个这个雷电游戏中心为例吧。 假如说呢啊,假如说啊,这个雷电游戏中心啊,他的他的颜色一直在改变,那么如何的去确定他的一个坐标,接着去进行点击呢? 咱们可以去找这个一键玩,或者说呢下面的啊,甚至说呢,下面这个龙成爵的一个图片,找到了这张图片,则去点击这个雷电游戏中心, 还是先去寻图啊啊,还是先去保,把这张图片去进行下保存, 选择保存截图啊,接着点击保存。

今天我用安检精灵写了一个早涂的一个紫城穴, 先来仔细研究一下,然后给大家看一下,有兴趣的朋友可以一起学习一下,研究研究。然后只是用四个点 来找一张图片,判断四个点的颜色是否和图片四个点的颜色一样, 然后这个是程序的参数,里面所有的参数之后,我都在前面加了一个 c 字母参数的拼音的。首先下面判断颜色,找到第一个点子,我们判断剩下的三个点 颜色,我们获取它颜色的时候来判断,如果说后面的三个点的颜色, 然后点的颜色都与图片的颜色相等的情况下,那我们这里就给他调试出一个四字,这个是可以删掉的, 下面给你看。 人序是不能有法文资料,所以我们是把它写在了一个公共边料里面的,就这个 imtx 和 inty, 如果说是在手机上写的话,就得在上面 写这个定义,然后我们看一下结束了之后,我们就直接跳转到结束结束。下面这里我也是有一个调试输出的信息作业都可以删掉,现在我们就可以 这是用四个点,然后我们就来判断这个图片,找这一个图片的作品, 这个会比系统自带的会慢一点,但是十月的精准度来说会稍稍好一点。 这是一个我自己写的一个,刚学这一个吧,我想试一下 写一个早图的一个指神穴,可以用作学习。 我们来识别一下原声这一张图片,这个图标在安吉吉林,把这个抓抓给它打开, 我先取点,任意取四个点,第一个点的话尽量取左上方任意位置。 no 四,好,我们现在把这四个字 给他放到这里来,自称兄弟,把他合上, 我们现在来调试一下, 看一下他能不能找到。 你是找到了吗?我在调戏里面把他的坐标给他输出来,刚刚我是把他删掉了。 好,我们再来调试一下, 速度的话不是很快,这里可以看到六九五二七 六九五二七,他就是你 定的左上角的第一个点的位置,最后把袋子贴出来,然后可以截屏之后自己去弄一下。

大家好,我是多多,欢迎大家观看我按键精灵找动态图这节课呢,讲的这个找动态图呢,可以解决百分之九十九的找动图啊, 他是用的两个方法,一个是透明图,一个是多点找色。在学习本节课之前呢,建议大家看一下多多的基础教程, 如果没有看啊,看过这个啊,透明图的话啊,可以用本视频中的多点找色的这个方法。 然后废话不多说,咱们直接开始啊,在这呢咱们需要用到这么一个插件,这么一个软件啊,这个软件呢我是去关 官方下的,呃,如果说大家找不到的话,可以加我的这个呃, qq 群和 qq 号啊, 嗯,咱们在这呢给他选择一下范围,他就是把这个范围内的这个动态图,他是变化的,在这个变化的动态图里面找几个不变的这个颜色。 在这呢咱们抓一下这个范围,把这个范围给他抓小一点 啊,这就没有任何问题了,咱们回车啊, ctrl 一抓,图,抓完了之后呢啊,把这个范围给它记录一下,把这个范围记录 下,这个范围呢是九七六,然后呢四八幺,呃,剩下的是幺零零六, 然后呢是五幺五, 大家看一下啊,上下左右这个呢对应的是这个范围啊,在这呢咱们把使用 ps 给他,这个勾给他取消掉,然后呢点一下记录啊,点一下记录就行, 在这呢咱们等待个几秒啊,等待个几秒,它呢就是把这个里面变化的就是动态 的这个颜色呢,他就变成红颜色,不动的颜色呢他,呃不变化,不动的这个像素呢,他就不变化了,直接放在这里面,这时候呢咱们点击下停止啊,这是过了个五六秒,咱们点击下停止啊, 停止之后呢咱们保存一下,保存到桌面,咱们随便起个名字啊, 然后保存过来,保存过来呢,咱们把这个,把这个大漠工具箱给它关了, 这个大漠工具箱跟这个按键精灵自带的这个抓抓呢,他有的这个快捷键,比如说抓图以及各种快捷键呢,他有冲突。咱们呢这个使用大漠工具箱的时候呢就 尽量别使用抓抓,使用抓抓的情况下尽量也就别使用大墨工具箱,就是这两款啊,就是抓抓和大墨工具箱尽量不要同时打开啊,他会导致这个快捷键有冲突,咱们呢点击一下这个抓抓。 呃,点击下抓抓咱们哦,这是我刚才测试的,咱们清除一下,把这个呢呃,我给他关下,重新打开这个按键键, 这时候呢咱们点开抓抓,点开抓抓呢,然后点击这个图像图 片呢载入,把刚才咱们截取的这张图片呢,咱们给它载入进来, 载入进来之后呢右键,然后以图像处理方式打开,然后点击这个放大,在这个右下角有个放大,点击放大,放大完成之后呢大家知道啊,这个呃 透明兔呢,它是四个角的颜色呢是相同的,这个四个角呢是红颜色,咱们稍微呢给它剪裁一下,把它变小一点,对吧?然后大家看一下啊,这个没有任何问题。然后呢这边也给他 小一点 啊,大家看一下细节啊,然后呢我点一下确定,然后给他另存为,另存为呢咱们随便给他写个名字,对吧?保存一下,咱们测试一下这个动态图,看看他到底能不能找到,然后呢?点击一下找图找色, 然后区域找图,在这个位置呢,给它选择相似度为一啊, 咱们点击这个位置开始测试,大家看一下啊,他是在这个位置的九八,呃, 大家看一下他是在这个位置的,没有任何问题。然后呢咱们生成一下,生成完了之后呢,咱们让他鼠标移动,点击一下啊,鼠标移动啊,不点击 这个呢,是鼠标移动的命令,基础教程咱们也讲过, 大家注意一下这个位置呢,呃,一般都是一点零啊,别零点九,零点九可能会导致误找,就是他移动别的地方。 这个看一下啊,鼠标移动过来了,然后我把这张图呢再移动一下,再启动一下,鼠标也移动过来了啊,然后再移动一下, 对吧?再随便移动一下,移动到这个位置,对吧?然后我再把这启动啊,没有任何问题。这个呢啊,这个呢?就是呃这个透明图找动态图的这么一个方法, 呃,然后呢?呃给大家呃, 嗯,给大家演示一下这个多点找色啊,咱们呢点一下抓抓, 还是老样子,这个图像截取啊,载入文件,把刚才截过来的这个给他载入了,载入之后呢,然后点击这个抓多点,抓多点呢啊,大家都知道啊,这个键盘上的上 下左右键他是可以精确移动的,咱们点击下抓多点哦,抓多点, 然后呢?呃,用多点找色, ctrl 一对吧,然后一个白颜色,然后一个呃其他颜色,对吧?跟多点找色的用法是一样, 其实他有的时候也可以用在用找型号,这个也可以, 大家看一下这个没有任何问题。然后呢咱们把它粘贴进来,然后呢用鼠标移动过去 啊,移动这个 x 逗号 y, 这个呢就是返回了两个 x y 的坐标啊,然后给大家看一下调试启动啊,它这个相似度呢是一样,不要给它 啊,试一啊,这个相似度是一的调试启动,大家看一下没有任何问题,咱们移动一下启动也没有任何问题, 嗯没有任何问题。这个呢就是找动态图的这么一个方法,我觉得这个方法呢可以解决百分之九十九的这个找动图啊,他这个呢呃就是这个这个软件呢 他就是这个软件呢其实就是把这个呃就是其实是把这个, 其实呢就是把这个, 其实他就是把这个呃不变的这个颜色找出来啊。如果说你这个动态图呢它里面有几个白颜色,有几个 啊?红颜色,或者说啊不是不是他有几个白颜色和几个黄颜色,还有几个其他类的颜色,他是不动的。咱们找到这个不动的颜色呢, 呃把这个不动的颜色给他生成多点找色,专门找这几个不动的颜色。这时候呢这个动态图是找到的,就是变化的变成红颜色,不变化的颜色呢,他是不变的。这个 软件,呃其实呢呃也挺好用的,平常呢呃我也经常给徒弟们用啊,就是这个, 然后这节课呢咱们就到这了,然后以后呢咱们还会出这个呃动态图,对吧?呃找动态图大家有什么对吧?有什么呃 有。有什么想给多多那个呃建议的也可以找我啊,这节课呢咱们就到这,咱们下节课再见。

大家好,我是多多,欢迎大家观看我按键精灵的教程,这节课呢,咱们呃讲解一下透明图的制作方法, 透明图是干什么用的呢?主要就是查找模糊复杂、不规则字体和图形的一种方法。 嗯,咱们废话不多说,咱们直接开始啊, 在看这节课的时候,呃,咱们用到一个透明图制作工具,这个呢也是一个呃大佬制作出来的,和 呃和咱们这个翻外篇的教程里面好多工具是一样的,他都是呃很多个人,然 然后花了很多个心思,然后开发出来的一些插件或者是软件。 这个的下载方式呢,大家可以打开啊,可以加我的 qq, 还有一个就是加我的 qq 群啊,我建议呢大家就是直接加 qq 群,这个在 qq 群群文件里面就可以直接下载 啊,这个呢就是透明图啊制作工具, 来我给大家演示一下, 咱们点开一下这个抓抓啊,在看这节课程的时候,我就默认大家已经把我的基础教程都已经看完了啊 啊,这个基础的像什么截图啊这种的,嗯,基础教程里面都讲过了,我在这都不讲了,大家看一下这个步骤 啊,咱们就查找一下这个啊,狐狸精的最后一个字啊, 右键,然后以图像处理,打开在这呢,咱们点一下放大,然后呢把鼠标往下移动一下,这有这个滚轮, 然后呢咱们嗯开始把这个透明图给他 剪裁出来,大家注意一下,咱们剪裁这个图形的时候尽量让它小一点, 然后呢点击一下确定 啊,点击确定之后,嗯就可以了,然后就有这个图,然后另存为 啊,随便写个名字啊。 这时候呢,咱们打开一下这个透明图工具,把这个呃 截好的这个图给他移动过来啊。一般这个图建议做做的比较小一点,不过大的一点的也是可以的。这时候呢,咱们找到这个文字里面最主要的这个黄颜色,咱们点击一下 啊,在这个位置,大家看一下,一共有六个零,咱们把这六个零呢改成五零五零五零,然后加入保留颜色,然后点击加载图片 啊,点击做透明图啊,不是加载图片,点击做透明图,大家看一下啊,这个呢,呃除了这个黄颜色之外,呃其他的呢?呃他就全部变成红颜色了。然后呢咱们保存一下图片, 然后他就保存保存成为这个图片了,然后点击一下,确定啊,关掉这个工具就可以了。这时候呢,我给大家解释一下 啊,解释一下这个透明图的这个, 呃,解释一下这个透明图的这个,那什么,呃透明图的这个, 呃透明图的这个原理啊,解释一下透明图的这个原理。 我这个图片还是比较小 啊,我再复制一个, 然后咱们把它放大一下, 然后先放这么大,他太大了,他变成白色了。看一下 啊,变成白色是这个 ps 的问题, 我换个颜色 大家都知道啊,这个像素呢,它都是由一格一格的构成的, 这个像素其实是由一格一格的构成的,之前呢基础教程咱们呃就已经讲过了,其中 呢大家注意一下,他这里面有四个九,看啊,这个九,这个九,这个九,这个九,然后我用个箭头标示一下吧,然后四个九, 如果这四个角的颜色为同一个颜色的情况下,他这个图片里面所有所有这个和这个四个角的颜色啊相同的颜色都是都会变成透明色。 我再重复一下啊,我再重复一遍啊,因为听一遍可能你不懂,我再给大家重复一下。这个呢,透明图其实就是一张图片, 在这个图片里面啊是由很多个像素构成的,这个每一个小格子代表一个像素,这个是基础教程里面都已经讲过的其中的四个,四个角的一个正方形吗?他不是有四个角吗?这四个角的这个像素像素块, 像素块呢?如果说他们为同一个颜色,他们为同一个颜色的情况下,这个图片里面所有的和像,呃,和这个四个角的颜色相同的颜色 啊,都会变成透明色。在找图的时候这个颜色是不会被呃不,不会找的,他只会找这个,呃,不是这个,呃。四个角颜色里面的呃其他颜色就是这 个黄颜色啊,希望大家都明白啊,我重复了两遍啊,这个呢就是咱们之前讲课的时候,对吧?讲找图的时候讲过啊,在截图的时候一定要注意这四个角,这四个角的颜色呢,尽量截的都不相同 啊。同样呢,就是对比今天的这个透明图的这个知识啊,就是大家知道一下啊,四个角的颜色为相同,然后四个角每一个角的这个啊,四个角的这个,呃颜色呢啊都会变成透明色, 在找图的时候都不会查找它,我讲了三遍, 然后呢咱们测试 一下, 大家看到我,对吧?大家看到这个图呢?呃,这个,呃就是这个,这个字呢,它肯定是特别模糊啊,像这个位置对吧? 肯定特别模糊,他本身这个颜色也是一个黄颜色,对吧?对应的这个字呢也是一个啊黄颜色的字,这种呢就属于特别特别容,特别 查找,特别难查找的这么一个呃图片了,对吧?这个是必须得做透明图的,所以呢给大家看一下 啊,大家注意一下啊,这个相似度呢,咱们可以略微调低一点,对吧?啊?咱们选个区域啊,先选这个坐的这个透明图的这个,然后呢咱们测试一下,大家看一下得出来这个坐标了,咱们找一下看看,对呗。 啊,没有任何问题啊,就是在这个位置,然后呢咱们试一下这个 啊,这个相似度调低一点,咱们看一下 啊,也没有任何问题啊,也是找到了零点七的相似度, 如果大家在降低相似度的情况, 同样找找不到啊图的情况下,建议大家多做几张啊,由于这个环境的影响,对吧,你可以多做几张,也可以解决这个问题一下找两张两张图也是可以的 啊,这个也没有任何问题,大家看一下,我再试试其他的 啊,没有任何问题,对吧?啊都是能查找出来的,大家看一下这个坐标啊,都是能查找出来的,这个呢就是透明图的制作方法, 这个呢,哎,咱们呢也是感谢一下这个作者啊,制作这个工具的这个作者, 这节课呢,呃主要是为了拓展大家的知识啊啊一个透明图的这么一个知识啊,因为最近呢大家无论是做游戏啊也好呀,还是做做那个 做项目也好呀,经常会碰见一些特别难识别的东西,大家用这个方法呢?啊,也是可以的。这节课呢,咱们就到这了啊,咱们下节课再见。

好在我的私信和评论里面呢,有一些啊,小伙伴提到了关于后台的很多问题啊, 看来大家对后台啊,对后台技术有着比较高的兴趣,那我们今天就来再讲一讲后台啊,我们之前其实提到过一点后台啊,我们简单的做过一期后台的节目啊,不过类似呢,说的很浅啊,说的很浅, 因为后台啊,我个人是很少去写的,主要原因是他的执行效率啊,后台的执行效率就比前台要低很多, 但他的优势是什么?他的优势是可以多开啊,所以说我们要有舍有得啊,你如果要用后台, 那你就要吸尘。他的效率啊,单开的话啊,他的效率会低很多啊,但是他呢,可以进行多开啊,但其实多开也有很多种方法啊,也不是说一定要写后台,比如说你可以把窗口切换的这个啊,算法啊,也给他写进去, 或者是啊利用数据机啊,都可以利用前台来实现做开。那如果我们要啊写后台,我们首先要啊有一个概念啊, 那后台他是以操作窗口为基本前提的啊,就是说我们要写后台代码的话,他首先就要啊有一个窗口作为他的操作对象。那你说我们的桌面他算不算窗口啊?桌面 那他理论上来讲了也算一个窗口啊,但但我们一般不会这么去用,对吧?我们一般不会用后台去绑定这个桌面,那我们最基本的,比如说一个记事本,他就是一个窗口,对吧?我们打开他就是一个窗口,然后呢,我们再建一个记事本, 那么我们就有了什么两个窗口,那我们后台他都是基于窗口进行操作的,所以首先我们要怎么样?我们就必须要绑定窗口啊,后台的前提第一步就是绑定窗口,那绑定窗口的话, 我们用什么来绑定的?如果你把一个窗口,把它想象成一个人的话,那每个人是不是都有身份证,对吧?所以说我们要引入一个概念啊,叫具备 饼,巨饼, 那什么是聚饼呢?那如果我们把一个窗口啊,想象为一个人, 那句柄就是这个人的什么身份证,所以说每个句柄呢,我们只要拿到一个窗口的句柄呢,就可以对他进行一个绑定操作, 那我们如何获取句柄呢?我们可以看到啊,这个代码,我是把大漠插件呢进行了一个注册, 所以说我们来看大漠啊,它里面是怎么操作的?我们怎么用大漠插件来获取句柄?它里面有个函数叫 get point window 啊,什么意思啊? get 啊,获取 point 点啊? wind 就是窗口,他的返回指是什么?返回整形表示的那窗口句柄,也就是说我们通过这个函数啊,就可以获取屏幕上 某个坐标点的窗口啊,窗口他的句柄,通过这个函数可以返回获取我们某个坐标点的窗口句柄,但这样写有点麻烦啊,我们还要给他一个指定的坐标,我们看有没有更简单的获取方法。 我们看上面一个函数 get a mouse point window, 它可以直接返回什么? 他可以直接返回鼠标指向的窗口锯柄,那这个就很方便了,对不对?那我只要鼠标指向这个窗口,那我就可以返回啊这个窗口的锯柄,所以说我们常用的这个锯柄获取方法 啊,一般是这个函数啊, get a mouse point window, 获取鼠标当前指向的窗口距离,让我们把它复制一下。啊, 啊,直接整行代码复制啊, 我们写一个备注啊, h w n d 它代表什么?代表聚丙。 好,那我们获取句柄以后呢?那我们可以把它进行一个弹窗提示啊, 来看有没有成功获取,我们点下调试,然后我们可以看到这里有两个计时本,对不对?我们把鼠标指向其中一个,我们可以看到啊,我们的启动快捷键是 alt 加 f。 好,我来启动。 哎,看见没有?他提示什么?他提示六六零啊,五六六,这是什么意思啊?我们之前不是说了句柄是什么?是身份证对吧?句柄是我们窗口的身份证, 那这个号码是什么?就是我们的身份证号码。那能不能明白?你看我们右边这个窗口 啊,你看他的号码就和我们左边的窗口号码不一样,对不对?你看他的号码是六五八七零八,我们左边的身份证号码是什么?是六六零啊,五六六,也就是说什么我们每一个窗口啊,他都有一个 啊,独立的身份证号码啊,这个号码在我们的同一台电脑上啊,理论上来讲呢啊,应该是不会重复的啊,应该是不会重复的。好,那我们获取这个以后我们应该怎么 去绑定呢?那我们怎么去绑定?我们现在看帮助文档啊,我们帮助文档里面啊,这个是大漠接口说明啊,他的帮助文档里面有一个后台设置的啊,这个模块 它里面写了什么啊?写的就只有我们窗口绑定的函数,第一个就是啊 bind, 就是绑定 bind window, 那我们通过这个函数就可以进行一个窗口的绑定啊,他的说明非常的多啊,我们可以看到他里面的说明非常的多,我们先不管那么多,我们先复制一行代码啊,试试看。 好,我们通过这行代码呢,就可以对我们的一个窗口啊进行一个绑定, 它的参数有一个,两个,三个,四个,五个,我们来看看每个参数啊,分别代表什么意思, 你看他的说明好,他的说明是前台啊,鼠标前台,键盘啊,前台啊模式, 也就是说我们用这个函数来绑定窗口的话,如果我们给他参数都是 nom, nom, nom 啊,那么他其实就是一个前台的啊绑定模式,那前台绑定模式就和我们一般的干嘛呢啊?就没有什么区别了啊,你这样写的话,那绑定就是前台绑定, 可是我们代码默认他本来就是前台啊,对吧?我们本来是要学什么,我们今天是要学后台的,所以说这个绑定模式啊,我们一般来说不会去用啊,在后台里面呢,我们是不会去用这样去绑定的,他这样就是 这个前台,让我们来看如何进行后台绑定呢?我们可以看后面的视力。好吧,后台绑定,你看鼠标前台,键盘前台, 后面还有什么?鼠标前台,键盘前台,那鼠标 windows 后台啊,键盘 windows 后台,你看它这里就提到了后台,是不是啊?所以我们可以用这个,用这个参数来试试看啊,能不能进行一个后台绑定。 好,我们备个注啊,这是前台 我们以往的视频教程啊,大部分都是前台在嘛啊,绝大部分啊,因为我一般来说我不太爱学后台啊,因为我比较懒,后台要测试 是比较麻烦。那我们的后台的话,他和前台的区别就是啊,前台会托管我们的键盘和鼠标,我们在跑前台的时候呢,我们键鼠是不能啊,是不能随便动的, 不然会啊,影响我们代码执行,但是后台呢,他就不会啊,他就不会, 我们可以看看我们有没有成功绑定这个窗口啊。好,那我们在这里就要有一个概念啊,我们一般写代码的时候,那我们要用函数,都是直接,怎么样都是直接这样写,比如说我们要写延迟, 对啊,对不对?像这样,但是我们如果要绑定窗口以后写后台代码的话,我们不能这么写,我们要改变自己的编码习惯,因为我们是用大模插件进行了一个窗口绑定,所以我们所有的后 后台代码呀,所以呢函数调用呢,都必须通过这个大漠啊,大漠内部的这个函数来调用,这样呢我们才能够执行后台代码啊,当然除非你是一些自定义函数啊,你就可以不用通过它啊,比如说一些算法啊什么的啊,你可以不用通过它, 但是一键系统函数,比如说延迟,比如说鼠标和键盘的操作,我们必须通过大漠这个对象来把我们的这个函数把它给带出来。 那现在我要写个延迟啊,怎么写?用大漠 d m 点,我们来搜一下它的底类啊,它的底类函数看见没有? 他写的就是把系统函数前面加一个什么,加个 d m 点,但是我们如果要用后台去写的话,我们必须这样去加, 我们延迟五百毫秒。然后呢?大漠, 我们来看它的键盘,键盘函数你看它也是一样啊,不过它这里有个小区别,如果你是用 keep price 了,它必须要用键盘码,这个比较麻烦啊,我们直接用 keep price 是 g 啊, kbs chat, 通过这个方式啊,这样去按键的话,我们看的比较直观一点啊。 kps chat, 比如说我要去按一下什么?按下一个 a 啊,好,也就是说我们启动这个 程序以后啊,我们的这个脚本,他会往我们绑定的计时本里面呢,输入这些输入这个 a, 输入间隔是五百毫秒,让我们来写个循环, 好像这样, 然后我们来启动我们脚本。好,我们在这里要注意一下,因为我们的启动快捷键是 a、 r、 f, 然后我们其实本它的快捷键二加 f 是调用菜单,所以说这样会怎么样?会产生一个冲突啊,会产生一个冲突,我们就要把这个快捷键给改一改,比如改为二 加一。好吧,二加一几乎是万能的啊,很少有快捷键会跟二加一的冲突。我们来看看。 哎,看见没有,他在输出啊,但是呢,我们输入法有问题啊,输入法是大写的,我们再来试试看。好, 你看我们绑定成功了吗?啊?绑定虽然没有成功,对不对?绑定没有成功,因为我们切换窗口的时候, 他就换到另外的窗口去输出了啊,这样就肯定有问题啊,这样肯定有问题,那我们再来试试看。这个绑定到底还有什么啊?别的参数可以去改,我们可以看到啊,我们的 bond window 下面还有一个什么 bond window e x 啊, 那后面选 e x。 一般来说啊,就是就是一个加强版的函数,我们可以看到的说明啊,他的说明里面有个什么?有个高级用户使用啊,那我们就冒充一下高级用户,我们可以看到它里面有一个模式啊,我刚才试了一下,用这个可以成功绑定, 所以这个模式啊,我们要自己去试。好吧,我们绑定计时本可以用 windows, windows 啊,但是你绑定别的窗口,比如游戏啊,或者是啊表格文件啊等等啊,网页啊,那就不一定了, 我们绑定不同的窗口啊,需要用不同的这个参数去尝试啊,这个你只能自己去试。好,那我们把这个绑定的参数啊重新改好以后呢,我们点调试,然后我们打 看两个记事本,我们再来启动我们的脚本啊。好,你看这个时候我如果激活左边的记事本,你看还右边记事本 有没有受影响啊?没有受影响,毕竟我左边的记事本怎么样?他没有进行一个输出,看见没有,那这样就表明什么?表明我们绑定成功了,对吧?两个窗口他是独立的,没有受影响。那如果我想多开窗口同时执行这个脚本,我们应该怎么办? 比如说我打了三个计时本,看见没有, 那这个时候呢,我们需要把脚本属性改一下啊,他默认是禁止重复运行的。那我们要把这个勾啊去掉,我们点调试。 好,我们再启动第一下啊,第二下啊,这样不行,调试模式不可以啊,我们把调试模式退出来。 好,我们再来试试看,第一次运行,第二次运行,第三次运行。好,我们可以看到我们三个窗口都在,对吧?各自运行 这个输出没有问题,对吧?啊?没有问题,那这个就完成一个后台的基本的逻辑啊,就是先要获取窗口据柄,然后呢进行一个窗口绑定,最后 再用大漠自身的这个函数啊,来去写我们的代码,这样呢才能去完成一个后台代码的编写。 那记事本是很简单的东西啊,那我们如果要写一些涂色的运算的话,我们该怎么去写呢?我们再来看个实力啊,比如说我们这个窗口啊, 我们这个窗口这里有一个图片,对吧?这个百度的图片,我们来尝试让我们的脚本去搜索寻找这个图片,然后呢进行一个点击,我们可以看一下,我们点击这个图片,百度啊,他会弹出什么?他会进行个什么操作? 好,你看他会跳转啊,跳转到一个新的页面来,我们先返回啊,这个页面好像是实时的,我们再点一下,好像就不一样了啊,是实时的,好吧,我们来看一看这个百度的 这个 logo, 我们让我们的程序来识别,我们来看一看啊,我们的找图函数,我们之前用过很多次啊,它跟以前一样, 比如说我们绑定这个窗口以后,然后呢我们进行一个找图,找什么图呢?找这个百度的 logo 啊,不是这个窗口,这个 我们先处理一下这个图片, 我们就叫一,好吧,就叫一, 我们找到以后呢,让我们的鼠标进行一个移动并点击啊,我们通常要怎么写?移动并点击就是 move to 对不对?但是我们这里怎么样?我们要加上我们的 d m 点啊,那这样去写 它的 move to 和我们的系统 move to 是一样的啊, 你只有这样去写它才是一个后台的操作啊,你如果直接写 move to, 那就是前台好,我们然后延迟, 延迟半秒钟,再怎么样?再进行一个点击 left click 啊, 我们来看一看它的 level click 应该怎么写 好,我们把这个附件呢,把它给加一下, 那这样我们程序执行的时候呢,他应该会怎么样?应该会去找到这个图片,然后进行一个点击呐,进行一个点击, 点击之后呢,我们页面会怎么样?会进行一个跳转,那我们来启动程序啊。好,我们把鼠标拿开啊, 刚才我们的网页没有反应啊,让我们来看一看啊,是我们的图片没有做好啊, 这里我们的图片它上面的白色区域啊,还有一个还有一定区间,所以说我们点一个这个白色区域呢,我们的浏览器它是没有效果的啊。 啊,点这里是没有效果的,我们还要进行一个位移,大概要位移个一百像素,看看吧,我们试试看啊, 像这样看行不行? 哎,看见没有,我们的鼠标并没有动啊,但是他成功的跳转了,这说明什么?这说明我们的找图和鼠标位移啊,还有点击都已经通过后台生效了啊,因为我们鼠标你看它 是没有动的,对吧?他这个停的没动,但是我们启动脚本以后呢?他怎么样?他成功跳转了界面,那说明我们的绑定怎么样?绑定很成功啊,至少我们的鼠标这个操作啊,绑定是非常成功的。那我们可以再试试看啊,你看我现在启动脚本二加一 啊,我这个是误点了,误点,所以说如果你要找图啊,你要找图,你要控制鼠标,你要控制键盘, 我们要注意的是什么?我们是要注意的是先进行一个剧本的获取啊,然后呢,进行一个窗口的绑定, 所有的找图啊,他的函数写法其实跟我们的以前的写法前台是一样的啊,无非就是怎么样就是绑定以后啊,我们需要在进行一个键数操作的时候呢,需要用大墨 啊,用它的函数来执行,而不能用什么,不能用系统自带的函数,包括 delay 在内哈,包括 delay, 还有鼠标的 move to, 还有鼠标的 click, 还有键盘的 k plus 啊,这些都不能用系统自带的函数啊,像这样, 像这样插入一条系统函数,像这样就不行啊,像这样就是前台代码了,你只能绑定以后用 d m 点出来的这个函数啊,来进行操作,那这样呢,就可以实现一个后台效果。 那我们如果要用后台多开,那我们要怎么样?我们要把我们的系统设置啊,改一改,把这个禁止重复运行,把它勾给去掉,然后保存退出。记住啊,我们这里不能用调试模式来多开啊,我们一定要保存退出。 好,然后呢,我们来按一下这个快捷键 alt 加一,比如说我们先绑定第一个窗口啊,好,这个时候呢,再绑定第二个窗口啊,看见没有?它第一个窗口跳转了,现在 他跳到第二个窗口,看见没有啊,这样子就可以实现一个后台的啊,多开的效果能不能明白?

嗯,大家好,我是凡人,今天给 大家一块学习一下这个聚饼啊。首先呢大家看一个我做好的小栗子, 嗯,这个例子呢,是在这个搜索框里面输入免费美剧,然后点击搜索, 我运行一下啊,首先呢他是找到了锯柄,这个锯柄是七八六四五, 然后在这输入了免费美剧, 然后他找到了搜索,点击了搜索啊,这是搜索免免费美剧。 嗯,我一点一点给大家说吧。首先呢就是 路径,路径是我在桌面新建了一个文件夹,然后把这个呃,把这个要搜索这个图标抓图抓下来了。 第二个呢是绑定锯柄,绑定锯柄,这这里给大家 说一下这个聚柄啊,我理解的意思啊,不代表,呃他真正的意思,因为我一直是这么理解的。这个聚柄呢就是在一个窗口,在界面里面的一个呃电子标签吧, 咱们用抓抓可以看到他的锯柄啊,假如说咱们现在看这个浏览器的锯柄,你看抓抓里面打开抓抓了以后,里面有一个锯柄,他有四个选项,颜色、图像、鼠标锯柄。 这个聚柄的用法呢也很简单,点击你想要抓的这个窗口,把它放到最前最前排,然后按 f 八,然后你再回到这个抓抓里面这个锁, 所有的窗口的锯柄都就出来了,然后找到咱们需要的这个,咱们需要找的是这个三六零浏览器,然后你看他的标题类名都就出来了, 然后咱们可以查看右键查看的具体信息, 这是锯柄,这是类名,这是标题。这个锯柄呢就是你每一次打开这个窗口,他的锯柄是会变的,他不是不变的,你现在关了这个三六零,咱们再打开一次 聚饼,大家看到他的聚饼信息就变了啊,也就是说他这个聚饼是,嗯,每一次打开跟不同的窗口的聚饼是不可能相同的。然后找聚饼呢? 用的是这个,我用了一个插件啊,三六零里面自带的也有,我是用了一个增强的这个插件, 大家看一下这个查找对比,查找窗口,他的这个里面的信息呢,有两个,一个是 窗口的类型,一个是窗口的标题,然后他返回这个窗口的距离,嗯,这个在抓抓里面咱们都能看, 这是类名,这是标题,咱们这个标题是会变的啊。你假如说咱们现在随便说一下他,他这个标题就会发生变化, 你看咱们这个三六零的标题就变了,变成这个三六零搜索, 然后他的这个泪明没有变。一般咱们抓 聚柄的时候最好是找这种不变的这个元素啊。呃,变的,这种每次变除非你能提前知道,所以说不建议大家用这个, 这个就 是用的这个插着泪明的这个我新建一个吧,这个路径我相信就不用给大家说了。 然后咱们用它,这里边我用的用的是这个一个插件里面啊,咱们自带的这个也可以啊,都都有这个功能,插到窗口区别,这会上面也有, 上面也能看到他是类名标题,把它插入进来,插入进来以后咱们招招里面有他的类名,复制过来,然后标题来咱们就零就不 用了。然后咱们输出一下他的锯柄, 他他的类名跟那个标题是字符串啊,这用英文状态的引号把它标注起来,大家看到现在找到了他的 聚柄,他是二四三零零六, 嗯,然后这个锯柄 刚才那个找图我用的是后台的方式,嗯,聚柄其他的功能可能我不知道,但是我知道聚柄最方便的一点来讲就是可以进行后台操作,包括 啊你接口对接的时候也能用到这个聚柄。呃,后台操作有什么好处呢?就是运行刚才这个, 刚才这个脚本,大家看到就是现在这个浏览器是在前台,也就是在前面,咱们的鼠标是我把鼠标放到左上角不动弹,咱们 f 十运行 他找到了窗口据点,确定啊,不行就得就得点击啊,确定他又找到了这个图标所在的位置,咱们再确定。 大家看到就是这个操作的过程中,有的鼠标是没有发生变化的,这个就是这个后台软件, 包括以前给大家讲找图的时候,这个图片一定要可见状态才能找到。但是如果咱们用锯柄把这个界面绑定了以后,咱们就不需要这么麻烦了,咱们把把刚才这些都恢复啊,我现在把这个界面隐藏到后面, 这样咱们再运行他也能找到这个距离,他也能找到这个图标的位置。 大家大家可以看一下啊,跟刚才的效果是一样的,就是咱们用按键精灵绑定了这个窗口的锯柄以后, 然后用后台的鼠标操作跟输入,就是那个跟那个输入操作的话都是可以实现的。呃, 他这个窗口操作不影响咱们干其他的任何事情。假如说咱们现在用后台操作这个网页,然后咱们再打开一个网页去看电影啊,或者去处理其他的东西啊,都不影响 这个,这个是锯柄绑定了以后,然后进行后再操作的一个好处。下面就是咱们接着做啊,嗯,刚才做到,刚才做到这个插到锯柄,那 现在你看能成功的查到查找到这个锯柄下面呢?咱们就 有用这个后台插件,咱们抓抓的时候不是可以找到他的锯柄吗?咱们抓图 像的时候,这有一个选项,上面是指定窗口锯柄,把它选上,然后把这个锯柄呃,这个这个整数输入进去截屏,这种截屏的方式大家可以看一下,它会只截屏这个 咱们要抓的这个窗口,他不会,他不会去截屏多余的东西,这也是聚柄的一个好处吧。 咱们把这个搜索抓图,这个是我刚才的桌面键子啊,跟大家说这是这个路径啊,放在这里面, 然后咱们 现在开始查找啊,不是查找啊,先先设定这个坐标点,咱们要在这个搜索栏里输入免费美剧,咱们先把它的坐标取一下,在这里给大家讲一下,就是这个坐标,它是 你相对于你这个界面的坐标,你看他的这个坐标的左上角是零零, 他这个零零只是这个聚饼的左上角的零零,不是咱们整个窗口的零零。咱们只要绑定了这个聚饼,你所抓图的时候抓的这个聚饼的话, 你所现在就是所抓取的这个坐标点,是相对于这个窗口相对这个聚柄的窗 来说的,而不是咱们整个的这个窗口啊。这个大家一定要记住, 有的时候就是咱们全屏抓了图以后,呃找的坐标点,如果你再用锯柄去呃锁定一个窗口,那个坐标点是不能用的。 同样的道理就是你用锯柄锁定好的这个窗口,然后抓到坐标点,在你满屏操作的时候,他是不能用的,这个大家一定要分清楚,把这个坐标复制下来 需要做什么呢?需要。呃就是用鼠标点击他一下,然后往里输入这个免费美剧这几个字。咱们这个案件经营插件里面 自带的一个后台插件,里面有这个后台的插件,你看这个是鼠标左键单机,它的这个里面的相是三相,一个窗口聚柄,一个 x 坐标,一个外坐标输入进去, 然后把这个 x y 坐标给他替换一下。 嗯,这个意思呢?就是这这段代码的意思,就是在这个,这是咱们刚才抓的距离, 在在咱们抓的这个锯柄里面点击这个锯柄的这个坐标点,然后呢咱们再往里面输入,往里面输入 发送文本消息,然后发送这个免费美剧, 把它加进来,这个意思其实跟上面一样,就是说在这个聚柄里面输入免费美剧四个字,咱们先先可以看一下现在的效果啊, 大家看到没有?嗯,可能有,可能看不太清楚,我把这个免费美剧删掉,大家再看一次啊。 f 十运行看到没有?这是就算,咱们把把这个,把这个放到后面去,咱们不看着他,你看现在是空的。 f 十运行运行完了,你看一下他一样能输入进去, 然后咱们再再看这个后台抓图啊,咱们先用后台找图吧,不是抓图,咱们先用这个,也是同样是这个,他自带这个里边啊有一个这个区域,找图 把他添加进来,添加进来一般情况下就是,嗯, 这个位置是这个位置是设定这个聚柄的范围,也也不是聚柄的范围,就是你要搜索这个图片的范围。呃, 如果来省事的话,直接设定全屏就行啊,除非你这里边有有很多重复的,你可以把它选择一个区域,没有重复的话直接就是一个全屏就可以。 然后这个这个地方呢是这个照片的位置,他自带的这个是支持添加到附件里面的,呃,或者是路径,我就直接用路径, 刚才我就是给大家说我设定的这个录制,就是我在桌面上做 用的这个路径这个边料,然后加入这个符号, shift 加七啊,这个符号就相当于把它,嗯组合起来的意思, 这个照片的名字,照片的名字啊,照片名字,我想搜索,这就是搜索, 搜索,然后这是这个这个命令的这个组成结构。第一个同样还是聚柄啊,就是我们在这一个锁定好的窗口里面 这个范围内,我设定的大,呃,其实无所谓,呃,这样比较来省事吧。然后在 搜索这个路径里面的这张照片,他的颜色偏偏直,就是没有偏移,然后他的相似度是零点九。然后第二段这个的意思,因为他这前面这一个, 他找到了这个照样图片的坐标了以后,他会把他会是一个字不串,一个字不串,后面这个就是他他这个字不串用的这个竖杠隔开了,后面这个呢就是说 把它呃区分一下,然后在后面这一个呢就是找到这个竖盖左边的, 左边的这个这个这个这个这个坐标,这个就是找到右边的坐标。其实他这个搞的 有一点繁琐,咱们这个里面有一个比较,嗯,怎么说呢? 可能是比较省事吧,咱们这里面有一其他比他我,我感觉比他好一点的方式,这里面有一个,咱们有一个函数,嗯 嗯,因为他找的坐标属于支付串,咱们可以在支付串里选定,选定一个,嗯,选定一个 怎么说啊?这个叫 哎呀,在哪呢?哎呀,稍等一下,我看 函数,但是不是这个函数,这个 这个里面这个函数的意思呢?就是这个字符串里面我设定一个风格符, 嗯,可能看不太清楚,大家回头可以自个找这个命令啊。这个就是我在这个自护串里面设定好一个分割服, 然后他能把这个分割服出来的东西变成,就是他把这个自护圈变成一个数组了。就 我感觉用这种方式比较好一点,咱们可以给他设定一下,把这个加进来, 咱们要分割的足部串是分割服,同样也是这个竖线, 然后生成的数组的名字,咱们就叫坐标吧,坐标挡泥,然后咱们可以输出他的 这个输出这个速度,因为咱们知道坐标只是 x 跟 y, 他是两个的,所以咱们只用输出两个就可以。 嗯,同样他他自带的这种其实也也是可以的啊,咱们也把它输出一下, 他输出就是这个大写的 s 跟大写的 y, 咱现在可以看一下啊,大家可以看到这个地方已经找到了坐标, 上面是聚比,这个是第一种方式分解出来的坐标,这个是第二种方式分解出来的坐标啊,其实哪种方式都一样, 找到了以后咱们就就要进行后台点击,还是在这个后台插件里面有一个鼠标左键单机 创口聚顶 s 坐标外坐标啊。嗯,这跟刚才上面这个其实就是一样的,不过这这会的坐标咱们就需要把它换成变量, 这样咱们运行一下啊,把它挥挥一下, 大家看到他自动点 出来了啊,我们再看一遍啊,把这段免费文具删掉,可以让他在后台不在前台,咱们运行一下, 一样能成功的把这个免费美剧给他们点出来。这个 这个就是聚柄配合这个后台的插件能达到这么一个效果,他可以 把所有的操作锁定在你这一个窗口里面,嗯,不会影响你的电脑的其他操作,包括你的鼠标,你的 其他的键盘,除非你这个在前台可能键盘会有一点影响,鼠标是不会的。 好了,今天就跟大家一块学习到这有什么不明白的大家可以加我微跟我联系啊,谢谢大家。

大家好啊,我是小德啊,我们上节课讲了啊界面的下拉框啊还有文字框啊,还有那个水平布局啊,这节课我们接着讲一下啊就是我们的啊多选框啊什么是多选框呢啊就相当于给我们啊一堆选项,那我们啊自己选择啊,就像我们写好的脚本啊,呃不管是我们自己用还是别人用对吧,他有些功能啊,他不需要啊对吧 啊就是让他自己选择,就是你想要什么啊他就运行什么。那啊我们看一下啊这是我们上节课说的啊下拉框,然后我们在下面啊,在下面按个回车嗯在下面我们再加一下我们的多选框啊这个是多选框。什么是多选框呢?我们先起个名字吧 啊假如说啊这个是功能啊,这个具体什么功能啊,以后我们自己写脚本的时候自己改啊,我就是举个例子啊,他有一些嗯参数啊啊什么选中啊这个这个一般都是啊这个啊 flash 那他是假啊,就是没选中的意思啊 啊一般这这种参数啊,不需要改了,我们只需要改这个啊提示内容啊,就是我们的功能他的名字对吧看到没有?功能一啊,然后这个呢名称啊就是我们啊脚本里面啊,跟这个一样就是获取我们界面的参数啊,对吧。嗯好,这个是功能一,我们再加一个啊再加一个多选框,如果只有一个的话就没有意义了啊再加一个叫功能二对吧 啊这是两个功能啊两个功能呢?哎我们首先是干什么获取对吧?功能一等于什么?那我们这个界面啊这个这个我们只要记住前两个啊,一记住前两个,然后里面肯定是有一个 ui 的啊,我们不要搞错,因为他这个命令啊,有两个,对吧? 他有两个,所以说我们要选择第一个啊,不是我们要选择有 ui 的啊,有这个 ui 的那一个啊,有了之后呢,我们要加一个名字,对吧?他是什么呢?多选框一,对吧?他这里叫多选框一啊,名字啊一定要一样,那还有一个,嗯,我们直接复制过来吧。还有一个是什么?功能二,对吧?他也是多选框二多选框二啊,这是我们两个功能 哎,我们输出一下啊,看一下功能一功能二,对吧?哎,我们看一下哎,他是空的为什么是空的?因为我们啊没有选择啊,第一次运行还没选择,没有保存啊,对吧?我们保存了之后啊,就是我们不选我们保存了之后我们再运行,嗯,他还是空的, 我们先勾选了吧先勾选看一下啊勾选看一下,哎,他现在等于真了,对吧?他现在等于真了。然后啊,我们啊不需要啊,假如说我们不需要第二个功能啊,我们只够一个啊,我们点保存哎,我们读取看一下, 哎,看到没有啊,他第一个是真啊,就是我们勾选了啊,他就等于真,他是返回啊,不而知啊就是啊,勾选了啊,就是真啊,没有勾选啊,就是假。看到没有?第一个勾选,第二个没勾选。所以说啊,我们按实际写代码的时候,比如说啊,我们这是一个 啊,我是主县城,对吧?啊?然后我们的主县城里面我们要加点东西,对吧?啊?加点盐城啊加点盐城啊。假如说啊,我们封装了一个 封装一个功能,对吧?那他叫功能一,就是我们按那个功能一的功能啊,啊,我们起个名吧,因为,因为他这个不能一样的啊,这个叫什么?这个叫,嗯,处理啊处理弹窗,对吧?假如说这个叫处理弹窗啊, 嗯,还有一个啊,这个掉啊,这就打怪吧。哎,假如说我们这是两个功能啊, 打怪中啊,具体里面啊要写的东西啊,我们自己写的时候啊,自己添加一下啊,我只是举个例子啊,这是我们啊一个功能叫啊处理弹窗,对吧?啊,我们加点颜值啊,还有一个叫什么啊?打怪, 哎,那我们啊怎么啊?就是对接这个界面啊,就是让我们选择的啊,我们选哪个啊?他运行哪个啊?假如说我们现在直接运行,他肯定是啊处理 弹窗打怪啊,我是主线城助理弹窗打怪,他肯定是啊,这两个都是在运行的,对吧?那我们刚才啊勾选了,只勾选了一个,对吧?只勾选功能一啊,这个时候我们就跟啊上面一样也是用啊判断啊,判断我们这个变量的值,对吧?那我们加在哪里呢?肯定是加在这个主程序里面,如果啊功能一,对吧, 如果功能一等于针等针,对吧,我们就运行这个啊处理弹窗啊,我们把它弄进来,对吧?这就是啊加了一个我们的判断,对吧?那我们,嗯还有这个打怪,如果功能功能几了,功能二了,对吧?他是第二个功能了,那等于针, 然后我们运行什么运行这个打怪,对吧?这样的话啊,我们加了一个判断,哎,他就是我们勾选哪个啊,他就运行哪个,来我们看一下。哎我是主线城,他处理弹窗,看到没有我是主线城处理弹窗,他只运行啊这个处理弹窗的功能了,对吧?他只运行的功能一,因为我们功能一啊,是真看到没有, 好,先先先停一下啊啊我们功能一看到没有,他是真啊,然后我们功能二呢啊,他是假啊,我们没有勾选啊没有勾选他就不运行那假如说我们现在只运行功能二啊,功能一我们不运行了,对吧?哎,现在我们再看一下,哎,我是朱先生啊哎那他怎么还是运行处理弹窗呢? 我们没有保存吗?我们看一下。哦没有保存可能啊,这个是我们要勾选的勾选功能二,对吧勾选功能二啊,功能又要取消,然后点保存啊,点了保存之后我们再看一下啊 啊现在就好了啊现在就好了,我是主线城啊,打怪中他这个功能一他就不运行了,对吧功能一他就不运行了处理弹唱的,因为我们只勾选了啊功能二这个是我们啊多选框啊,他的运用方法就是我们勾选哪一个啊他就运行哪一个,然后我们是需要啊加个判断啊加一个判断啊, 这个是我们多选框啊使用方法啊,一个简单的例子啊一个简单的例子, 哎,他都是啊,打怪中打怪中,他不运行第一个了啊,现在我们啊全部勾选啊,对吧?我们全部勾选他会不会都运行呢啊?点保存一定别忘了点保存啊。好,他都是真的,对吧?处理弹窗打怪中 啊处理弹窗打怪中啊,现在他都在运行了,对吧?因为我们全部都勾选了,哎,这样的话啊,就是可以我们制定义啊,我们想要运行什么功能啊,他就可以运行什么功能,对吧?啊,这样的话啊,不是更好一点吗?啊,不用我们全部都写到你一个里面啊,啊,不需要的话我们再删掉,没,没有必要啊,就加一个界面进行判断一下我们想运行哪一个,对吧? 啊,这是我们多选框的励志啊啊。嗯,这节课的话啊,就差不多了啊,因为这个功能啊挺简单的啊,因为跟我们那个啊下拉框啊差不多啊,对吧?哎,因为这个只是判断真假啊,那一个是判断我们啊所有的选项啊,对吧,他比那个还要简单啊。好,这节课我们啊就到这里啊,然后下节课呢,我们再说一下啊,输入框,哎,输入框, 这个下拉框啊,多选框,输入框啊是我们啊最常用的啊三个功能啊。好啊,感谢大家观看啊,我们下节课再见。

各位观众大家好,我是酷玩文仔,那么这一期视频教程的话呢,主要就做一个比较通用的文字识别教程。 为什么说这种方法比较通用呢?因为他是几乎可以应对所有不同的字体,不管你这个字体是系统自带的什么微装牙黑宋体也好,还是说别人设计的一些特殊字体也好,基本上这种方法都是可以应对的。 然后我这里首先要介绍一个概念,就是说文字识别,他其实本质就是这个图片识别。所以我们这期视频教程的话呢,他写的代码其实 跟以往的图片识别是同一套代码,只不过说他这个关键是在于这个图片的处理。我们知道他这个文字都是有一些 线条来组成的吗?但是他这个线条与线条之间呢,都会有一些间隙,这个间隙的话呢,就直接把这个背景的颜色给暴露出来了。这就造成了一种情况,就是说 我相同的文字在不同的这个背景图片上面,他表现出来的整张图片是不一样的, 所以用我们的传统的这个图片识别的话呢,他是不能够识别到这个文字的,因为他会受到这个背景颜色的干扰。那我们怎么做到让程序忽略这个背景色,仔细识别这个文字的线条本身呢?这个关键就是在于我们去处理这个图片, 然后这个处理图片的工具的话呢,当然可以使用我们这个比较熟悉的 photoshop, 但是因为我们这期视频 需要用到的这个功能过于简单了,我们甚至可以不用 photoshop 这么高端的工具,我们甚至可以用这个系统自带的附件,这里有一个画图工具,我们甚至可以用画图工具来完成今天晚上的这个脚本。 那么首先的话呢,我这里就按一下这个截屏键,按键抓抓这里的话就会有一个 图像,这里就会把这个屏幕截下来。然后我现在的话呢,就要识别一下这个桌面上面的文字,比如说我想识别这个微信这两个字,那我首先当然就是把微信这两个字把它截下来, 未图另称为。然后我自己的话呢就先按传统的这个找图 图方法试一下。首先把微信这个图片的话呢拖到这个附件目录这里, 然后写一个简单的这个找图的脚本,然后我这里的分辨率是这个全高清的幺九二零乘以幺零八零, 然后改一下这个文件名, 然后这里如果找到的话呢,首先是鼠标要移动过去, 然后移动鼠标这个的 可能视频看的不是很清楚,所以我就再加一个弹窗的命令 啊,然后保存一下脚本,保存退出好,执行脚本好找到没有问题,因为的话这个文字它本身就是在这个位置,所以我连这个背景一起截下来的话也是没有问题的, 那么现在我就把这个微信把它移到这个地方,这里的话这个背景颜色很明显,刚才是比较黑的,现在变成了一个偏白色的背景色,那么现在执行脚本的话,他就没有找到了。所以说这个传统的找图方法的话呢,一旦换一个背景就不行了, 我们现在就要把这个图片做一下处理,至于怎么处理呢?这个我们要根据按键精灵找图的逻辑来推。 首先的话呢,按键精灵他找图其实说白了就是一个像素,一个像素这样去匹对他的颜色是否相同,如果都相同的话,那就肯定找到。然后如果有个别像素的颜色不同的话,这个时候就取决于你找图的时候设置的那个相似度。 那么在他一个像素一个像素去匹对的时候呢,有四个位置的像素点是比较特殊的,他就是这个图片的四个角落,如果这张图片的四个角落他的颜色都是相同的话,那这一种颜色就会被视为背景色, 然后他在匹对图片的时候就会自动忽略掉这种颜色,就是说背景色他是会自动忽略掉的啊,那我现在的话就来处理这张图片,首先的话打开这个画图软件,然后把这个图片拖进来就可以了,然后拖进来之后呢,这里图 图片太小不能处理,就在查看这里把它放大。然后我这里的话呢,有这个网格线是可以看到每一个像素点的,然后默认情况像素没有的,所以这个网格线这里这个勾一定要打上,这样的话我们就可以清楚看到每一个像素。 然后这里的话呢,我们虽然看起来他的这个背景色好像都是黑色,但是他这里其实有一些微妙的差别,我们肉眼看不出来,但是他程序判断的话,他只要判断到有一点点差别,他就认为这个不是背景色。所以我们这里的话首先要用这个铅笔工具, 因为铅笔工具的话,他一次只能够点一个像素,这样的话会比较精确。然后我们随便选择一种颜色,不管你这里选什么颜色,因为我们最终都是要把 把这个颜色变成背景色的,而背景色他会自动忽略掉,所以这里选什么颜色都都没所谓。接下来当我把这四个角落的点都变成相同的颜色的时候,这种颜色就会变成背景色。然后找图的时候, 只要这个位置他是这种颜色的话,他就会忽略掉这一个位置,就是说这个位置不管他是什么颜色,他都不会去管他是否匹对的上了。所以我们接下来就要把这些无关紧要的地方,把它全部变成背景色, 然后我现在把这些所有无关紧要的位置全部变成背景色,这样的话他在找图的时候就只会去判断这个线条。这个图片处理的话呢,你可以稍微做的精细一点,也可以随便 互一下就完事了,这个就取决于你这个找图的时候设置的这个精确度,如果你这个相似度设的比较高的话,那你这个文字处理就要相当仔细了。 那如果你这个相似度比较低的话呢,你在处理的时候就可以把一些很细微的地方把它忽略掉。那我这张图片的话呢,就大概处理成这个样子应该差不多了,因为我这个相似度给的是零点八,所以也没有必要吹毛求致,把它每一个相似点都点了很清楚。 然后我现在的话呢,就把这个图片把它另存为微信,然后后面加一个这个文字识别保存。然后的话呢,还是要把这个图片把它拖到这个附件栏这里, 拖进来之后呢,这个文件名也要改一下,然后保存退出 啊。我现在按 f 十直行脚本,然后他马上就找到了,他找到的位置是这个微信截图, 这个是跟他的找图顺序有关系的吗?我之前的视频也说过,他找图的话是从这个屏幕的左上角开始,然后按从左道路的方向这样去扫的,所以他第一时间肯定是扫到这一个。那我现在把这两个截图把它删掉, 然后我再找他就找到了这个微信客户端的程序,然后我现在把这个微信拖到之前那个位置,现在这个背景颜色已经变得比较白色了,然后我再按时他还是找到,这就没有问题,不管我移到哪里他都可以找到。 最后的话呢,顺便说一下,这种方法的话,不仅能够用于这个文字识别,甚至是一些半透明的图片,他也可以这么处理。比如说这个服务的这个一个图标的话,他两个齿轮中间这两个孔他是透明的吗? 所以我们如果要找这个图的话呢,可能是需要把这个齿轮截下来以后,把这个四个角跟齿轮中间这个孔都把它涂成同样的颜色。反正你们就记住,处理图片的时候, 要识别的地方就把它保留下来,不要识别的地方把它全部统一涂成相同的颜色,这样就可以了。 ok, 那么这期视频的话就暂时先到这里。

好,我们今天继续来研究这个游戏啊,我们的目的不是说写一个多么成熟的多么系统的功能啊,我们只是借这个游戏为样本来研究一些相关的技术啊, 那我们今天来研究什么技术?我们来研究一下如何在这种腐蚀角 art 游戏里面去实现一个寻路的功能。我们可以看到啊,这个地图它是这样子的,对吧?我们去跑到出口,你看 我们可以沿着这条路一直跑到出口,跑这里来,那如果我们希望通过脚本实现这个功能,我们可以怎么去做啊?首先我们要啊,我们可以想到第一个思路 就是去寻找参照物,寻找参,那什么是参照物啊?比如说啊,这个石头看见没有?我们这里有个石头, 对吧?我们的石头他是一个静止不动的物体,这个石头你看他是不会动的。还有我们这个帐篷,你看他也是静止不动的,他们是禁锢在没有光源影响的情况下啊。假如说这个游戏他的光源是固定的, 什么是光源?比如说这个火炬看见没有,由于这个火炬是活动的,他会产生啊,产生光,那受这个火炬的影响,旁边的光源呢?会发生变化,旁边的光线这个照射的情况会发生变化,那所以说 受光源影响的非禁止物体,我们如果把它作为一个参照物来当做路标来使用的话啊,是很困难的,但是如果是那种啊,相对来说啊,不会有很大变化的。 比如说这个石头在我们走过去之前,如果没有光照去影响他的话,如果没有光照去影响他的话,那我们这个时候他的图片相对来说,是啊,一个镜子的图片,我们是比较容易去找到他的。 好,那我们就来试试看了,我们可以新建一个脚本 在这里面呢,我们就还是要用到大漠,我们之前讲过,大 大墨的找图效率要比按键自带的找图效率要高一些。 我们把之前的啊大漠插件的注册脚本把它直接给复制过来, 因为我们大漠的注册和调用他的格式是固定的,所以你可以准备一个专门的脚本,我们去翻一下以前的脚本呢,因为很多代码是可以复用的,我们不用每次写的时候都重新写, 那这个是我们大漠找图的代码,我们直接把它复制过来,那我也不想重新打一遍。 那前面这个 d m record 啊,它是什么?它是我们的一个变量啊, 用来接收我们大漠藻图的返回值啊,因为这个函数它是有返回值的,所以我们用一个变量来去接收它,不过我们还是统一一下我们的编码习惯这里给它命一个命名。我们这个图是干嘛的?是路标对吧?路标, 我们可能需要很多路标,所以我们把它叫做路标一啊啊,路标一等于大漠对象是吧?点 find the picture, 然后找出范围,一二 三四,还有四个参数,我们就直接把之前的这些变调名呢也复制过来。 好,我们需要找, 肯定不是找血瓶,对不对?我们要找那个石头,对吧?这个石头下面这个石头,那我们就截个图好,然后呢?进抓抓 好,然后呢?我们就把这个石头啊截取一块下来为图令称为,我们给它命名叫路标一, 然后附件添加桌面图标一, 改我们的图片名 名字啊,路标一,我们的查找范围啊,我们直接给他定为一个全屏范围啊,因为我们是无法确定我们的路标在哪里的,所以这里就啊给他定一个全屏范围, 一九二零,一零八零,这是我们的显示器分辨率啊,一九二零乘一零八零。然后呢,我们找到以后怎么办?把我们的鼠标移动过去,点一下左键,让我们的人物移动到我们的路标上去, 设置一个延迟,我们来给我们的延迟定一个参数吧, 等个五十毫秒,然后呢,点击鼠标左键。好,我们来看一看这个有没有问题啊?我们先看一看我们的游戏,它的快捷键是有没有什么是不会充值的快捷键啊? 都有用啊, s, d 啊, d, 我们就把我们的脚本设为 d 吧, 我不想用 f 键呢,因为 f 键,可能我们的游戏有很多 f 键呢,它是有系统功能的,我们就设置一个没有任何游戏功能的按键 d, 好,我们来回答,游戏,我们按一下 d, 那你看错了对吧?错了, 为什么?因为现在天黑了,你看见没有?现在天黑了,这个时候已经变暗了,我们根本就找不到他了,因为我们截图的时候,你看光线还挺亮的, 那这个时候天已经黑了,他没有光线了,所以我们找路标的这个思路呢,就告吹了,那这个方案行不通,我们就可以去考虑别的方案了, 如果说我们这个游戏我们可以获取我们人物的坐标的话,假如说这个游戏他有坐标系统的话, 那我们就可以很轻松的让我们的角色移动到我们任意一个坐标点啊,那是可以很容易的实现的,你如果不知道怎么去实现,你可以去看我以前的视频,有三期节目专 他们是讲鼠标缓动的啊,鼠标缓动,缓慢的缓啊,移动的动。好,我在三期节目呢,他是帮助你们理解我们的屏幕坐标系的, 如果你把那三星节目都吃透的话,那你是可以轻松的驾驭一个阿迪的寻路的,但前提是你要知道我们的人物坐标,那我们有没有办法去获取我们的人物坐标啊? 也许有,也许有,你可以去找一下有没有这个方面的插件呢?或者是啊 mod 之类的,有没有这种第三方的软件可以帮助你获取这个游戏类的人物坐标? 如果有的话,那我们寻路就会很容易,但是如果没有了,比如说现在啊,我不知道有什么插件或者 model 可以 帮助我实现这个游戏的坐标啊,坐标显示,那我不知道,那我如何去实现我们的角色寻路啊?那我们今天呢就来研究一下啊,我们来研究一下,看能不能通过脚本 来实现我们的角色从出生点呢,然后一直跑跑跑,跑出来,跑到外面来,可不可以实现这个功能呢? 我们要想啊,在我们没有坐标点的情况下,又无法实现查找这些参照物的情况下, 那我们只能在自己的心目中给自身建立起一个坐标系,建立起一个相对坐标系。好吧,我们把游戏人物的原点啊作为起始点的话, 我们每次移动如果能控制它的移动距离,比如说我们啊往右 移动一百,移动一百个像素的,我们把它叫做一步的话,像这样,对吧?假如说我们每次移动的距离都是固定的,每次都是固定的走,走那么远,这个不符,或者说这个距符,这个距离固定是一百, 那我们把这个一百作为单位,我们可以设计一条路线啊,比如说我们往右 走一步啊,往下走一步,往右再走一步,是吧?然后往下再走,那我们可不可以设计一条路线,让我们的角色固定的往右走多少步啊,往下走多少步,然后一直按照这个 固定的部幅啊,写出一条固定的路线来,可不可以呢?好,为了帮助你们理解这个思路啊,我在 ps 里面把我们的游戏截屏呢,给把它给贴进去了, 那假如说啊,假如说我们虚拟处啊,虚拟想象出这么一个网格,把我们的游戏啊,把它分割成若干个网格啊,像这样 好,那么如果说我们这个每一个网格啊,假如说它的距离边距啊,都是一样的,等宽的, 那我们每次移动的时候啊,如果我能精准的控制它 往下啊,移动一个单元格啊,往右移动一个单元格,那么呢我们就可以把我们人物移动啊,按照这个精准的单元格来控制的话啊,我们就可以设计出一条固定的路线出来, 当然了,如果有必要的话,斜向移动也可以啊,斜向移动也可以,总之我们就是把它做一个单元格的拆分,然后让我们的人物啊进行一个 单元格的移动。好,有了思路啊,代码怎么写对吧?我们思路已经知道了,但代码怎么写的,我们先把这些给删掉吧,因为 没有用,对吧?我们找都找不到。那我们的人物出生点呢?按照我的理解来看的话啊,他应该是固定的啊,他应该是固定的,我猜大概是这个地方啊,我们也可以重新进一遍看看啊, 我们重新进一遍看我们的人物顺点在哪里 啊?在这个地方,在这个地方,在我们这个石块的下方一点位置。 按照我的理解来看的话,我们的人物他应该是在我们的屏幕正中央,所以我们来先声明两个变量啊,我们的屏幕宽度和我们的屏幕高度, 那么我们的屏幕宽度是一九二零,我们可以直接写,也可以用我们的插件 mini 来把它给带出来啊, 这是我们屏幕宽度,屏幕高度呢, 这是我们屏幕高度,那有了屏幕宽度和高度,那我们人物的位置啊,在我们的屏幕中间,对不对? 所以我们人物坐标了,该在哪里?应该在我们的屏幕宽度和高度啊,他们分别除以 a, 在我们的中心点 x 坐标呢啊,等于宽度除以二。 y 坐标呢,等于高度除以二。 好,我们可以调试看看啊,看看我们的信息对不对, 然后做个 x, 还有人物坐标 y, 我们来看看它, 他们的位置信息是不是我们设想的那样啊,调试看看 哎,人物坐标 x, 九六零九六零,人物坐标 y, 五四零九六零乘以二等于一九二零,对吧?然后五四零乘以二等于一零八零,所以说这个坐标位置没有问题啊,没有问题, 好,让我们的不服,我们的不服,我们先按照一百来设计,就是我们的人物走一步,我们让他走一百个像素, 那假如说我想让我的人物往下面啊走一步的话,我们的鼠标应该怎么样?就应该移动到我们人物坐标点的 y y 手表,然后加上一百,这样我们的人物呢就可以往下走一步,我们可以试试看啊, 我们先移动到我们的人物坐标这里来, 这里是做一个参考啊,做一个参考这一步只是看我们的鼠标指针他在哪个位置啊?看一下标准一下,然后延迟一下, 然后呢我们再移动到我们的人物坐标 y, 加上我们的不符,然后再演示一下,我们看看 看效果怎么样啊?哎,看见没有?我们的鼠标在这里的时候停顿了一下,我们可以加一个断点, 这个断点不用不用调制什么信息串啊,就随便跟他弹个空的可以。 哎,看见没有?我们观察鼠标位置啊,对吧?我们鼠标位置在中间的时候停了一下,正好在我们的人物脚下,然后一百像素呢,就是这么一点距离就是一百像素,那我们如果想让人物往下移动的话, 就让他去加这个不符,然后呢去点左键,对吧?我们走一步就加一走十步呢, 就乘以十,对吧?这里会走十步,我们观察一下这个地图啊,我们刚才看到我们一步的距离大概是这么多,大概是这么多, 那我们能不能往下走十步啊?走不了啊,你看一步,两步,三步,四步,五步,我们可能最多只能走五步,因为我们下面就是任务栏了,就是我们的工具栏了,他属于我们的游戏 uy 了。那我们怎么办?我们先试试看能不能走四步。好吧,走四步, 先往下走四步,对不对? 哎,正好你看走四步就是极限距,对不对?然后呢,我们再走四步。好,记好了,这个时候我们走了四步, 找两遍,找两遍乘以二,我们做一个数式,好吧,做一个数式, 然后呢,这个时候我们还可不可以往下走啊?还可以啊,我估计还可以走一步啊,但是我们 啊,还是换个路线吧,不要往下走了,往右走,往右走,往右走的话是我们的 x 轴增加,对不对啊?那我们就去修改我们的 x 轴,我们先把这一块给注释啊,这是往下走。 然后呢,现在往右走, 往右走的话,我们应该控制什么坐标?应该控制我们的 egg 坐标啊。往右走,控制我们的 egg 坐标,我们 y 坐标了,不动 egg 坐标。 我们这里不符的统一一下啊,我们 x o y 啊,都是一百的像素啊,这个不符统一你也可以去做调整啊,你也可以不统一,那我们还是统一一下。 这个是两遍啊,走了两遍。好,刚才我们试验的这个过程有点长, 所以我就没有录了,我把它剪掉了。我们的思路就是通过我们的人物不服控制,你看如果你要往右走,就控制我们挨个坐标,加上我们不服,你要走几步就乘以几。你要往下走就控制我们的外坐标,加上我们的不服,你要走几步啊?就乘以几。 我们去通过这样一种调试的方法,我们去试看。我们人物要走出这个地图,他要往下怎么走几步啊?往右怎么走几步,对吧?我们去试。 然后呢,每一个,每一次行动之间我们都要加一个间隔,这个间隔我设的比较长,是三秒,我也不确定三秒够不够,我们可以看一下代码啊,我们前面是路标,没用啊,路标这个思路行不通,对吧?我们 前面是行走时间间隔,然后屏幕宽度,高度,坐标不服,好,然后呢,我们的人物开始 往下走四步啊,乘以二走两遍四步啊,也就是走八步。为什么我不直接写八步呢?为什么我要写四步乘以二,我不直接写八步,因为我写八步的话,我们的啊,我们的屏幕他的高度啊, 走八步就走出去了啊,我们的鼠标他会超出我们的屏幕边界,所以我是走四步, 然后我们的每次循环呢,最好也给它加个间隔。 我们先不求快,好吧,我们先不求快,我们只求稳,他只要能到就行了。先不求快,所以尽量把颜值参数 可以写长一点。我们先循环两遍,往下走两个四步啊,这个往右走两个四步,往右走两个四步,然后呢往下往下走三步, 然后呢再往右走四步,走三遍,走三个四步,也就是往右啊,也就是说往右走十二步啊,然后呢再往下往右,往下往右,这样不停的走,走十二遍, 我们可以看这个逻辑能不能成立好吧,我看这个逻辑能不能成立。 好,我们使用脚本呢, 哎,没有 问题,看见了吗?没有问题啊,虽然中间停顿时间有点长,但是因为保守,姐姐我把颜值参数设的比较高啊, 我把这个参数测的比较高,所以我们人物走的时间就有点长,有点慢,他每一次走的时候啊,都要停顿很久,好像是在思考怎么走一样,对吧?好像在想,哎呀,我下一步该怎么走啊,对吧?好像是陷入了思考啊, 但其实是这个原因,好吧,我们把这个时间间隔调整一下,改短一点,然后呢,就可以实现一个比较好的效果了。 好,这里我们来优化一下我们代码啊,优化一下我们代码,因为我们很多代码他的格式是雷同的,看见没有,他是非常雷同的, 所以我们可以自己写两个函数啊,人物位移 u, 我们给它一个参数,好 stove 啊, stove 不行,它是系统,系统名称,因为它是蓝色的嘛,我们给它一个部数吧,部数人位 you 不符,乘以步数,然后呢,给它一个延迟,我们给它延迟一个弦间隔,弦间, 那这个时间间隔最好是以我们的 啊,写错了,在这里以我们的步数啊,做一个正相关,我们的步数越多呢,我们衔接的越长,这样才比较合理啊, 所以我们时间间隔他要有这么一个步数的成的关系在里面。延迟我们时间间隔乘以我们步数。你走一步嘛,就等一个一步的啊,这个时间走两步就等两步的时间啊,对吧? 好,然后我们再写一个向下的位移,因为我们这里只用了右和下,我没有用左和上啊,所以我们只需要写两个函数, 那如法炮制,对吧?我们这里就把它加到我们的 y 坐标上面去, 对吧?像这样啊,往下走就是 y 手表去加我们的不符,乘以步数,然后延迟呢,也是我们的时间间隔乘以步数,那我们的代码就可以去怎么改了,可以怎么改? 中位移右, 在这里人物位移右括,这个是走往下走啊,往下走四步, 对不对?九五扣,然后位移下,参数是四, 这里是人物位一右啊,参数是一走一步嘛, 这里是往下走两步,然后呢?往右往右走几步,往右走四步乘以二, 然后往下往下走几步了,往下走三步, 再往右走, 然后这款它有点特殊啊,这款我们可以不用改, 刚才我调整了一下这个时间间隔啊,我尝试了一下这个时间间隔,我看怎么设置比较合理。 我发现啊,五百五可能是一个比较合适的参数啊,比较合适的间隔时间也就是半秒钟啊,多一点点,我们可以看看。 好,我们来使用脚本。 哎,看见没有,很成功,对吧?我们还是跑出来了,让我们重新进一遍,重新试一遍呢, 你看我们再进一遍, 好,我们再实行一遍, yeah。 嘿,对吧,没有问题啊,没有问题,你们还是可以去继续优化这个参数, 还可以继续优化我们的这个位移的方式啊,去优化这个路线,这些都可以去优化。好吧,那这期就到这里了,这是一个思路,对,我们这种没有坐标了平面游戏的话,我们可以怎么去寻路?