脚本精灵教程(让脚本具有记忆)
脚本精灵教程(让脚本具有记忆)
2024-07-03 12:46:53  作者:情义多棱镜  网址:https://m.xinb2b.cn/know/zgw489354.html

脚本精灵教程(让脚本具有记忆)(1)

说到记忆这个词我们肯定会想到人本身,一个人通过感官获取到外部信息以后,就会存储到大脑当中,形成了长期或者短期记忆。比如看到的、听到的、闻到的、触碰到的都能存储到大脑当中。

对于脚本来说,就没有这么复杂了,主要就是看到的,包括图片、文字。那么我们怎么去记忆以及怎么提取记忆使用,就是这篇文章要讲的主要内容了。

我们先来看看“文字的记忆“,很多软件都有配置文件,那个其实就具有记忆功能,对于按键精灵安卓版来说,最简单的方式就是通过文本记录,常用到的命令就是写入命令。我们先来看一段代码:

dim a="我要记忆的内容"dim path="/sdcard/pictures/1.txt" //"我要存储的位置是雷电模拟器的共享文件夹当中的1.txt这个文本当中"file.write(path,a)

当我运行这段代码之后,在共享文件夹里面会出现一个1.txt文本,文本内容为"我要记忆的内容",这就实现了“记忆”功能。

脚本精灵教程(让脚本具有记忆)(2)

对于记忆来说,我们简单分成了短期记忆和长期记忆。

短期记忆是上面代码中的file.write命令,之所以叫它短期记忆,是因为只要二次运行这个命令,原来的内容就会被新的内容覆盖,多次运行以后,就只保留了最后一次运行的内容,所以叫它短期记忆。

当然不是说用了file.write命令就一定是短期记忆,如果每次存储的文件名不同,它也可以变成长期记忆。我们看一下代码:

dim arr=array("我要记忆的内容1","我要记忆的内容2","我要记忆的内容3")dim path="/sdcard/pictures/" //"我要存储的位置是雷电模拟器的共享文件夹"For i = 1 To 3file.write(path&i&".txt",arr(i-1))Next

运行这段代码以后,就会在文件夹里面生成3个文本,因为名字不同,所以它们不会互相干扰,避免了被覆盖的可能,从而形成了长期记忆。

脚本精灵教程(让脚本具有记忆)(3)

我们再说一下另外一种长期记忆,就是在同一个文本里面插入内容,并且保留原始内容,常用命令是file.writeline。这个命令可以执行在文本的某一个行里面添加内容,不会覆盖掉原来的内容。

我们来看一下代码:

dim arr=array("我要记忆的内容1","我要记忆的内容2","我要记忆的内容3")dim path="/sdcard/pictures/1.txt" //"我要存储的位置是雷电模拟器的共享文件夹1.txt"For i = 1 To 3file.writeline(path,1,arr(i-1))Next

通过运行代码我们可以看到1.txt这个文本里面有3行内容(看下图),就是我们要记录的内容,这个命令需要特别注意,必须要在运行代码前,文件夹里面一定要有对应的文本文件,命令不会新建文件,如果没有对应的文件,就会报错。

脚本精灵教程(让脚本具有记忆)(4)

当然上图当中,我们可能会看到文本内容是3、2、1这个顺序,这是因为每次存储的时候都会插入第一行,所以后插入的内容,就会在第一行,如果我们想要在最后一行插入,就需要每次获取当前文本中一共有多少行,然后再去指定的最后一行插入内容。

还是看一下代码:

dim arr=array("我要记忆的内容1","我要记忆的内容2","我要记忆的内容3")dim path="/sdcard/pictures/1.txt" //"我要存储的位置是雷电模拟器的共享文件夹1.txt"Dim line //行号For i = 1 To 3line = file.LinesNumber(path)file.writeline(path,line,arr(i-1))Next

脚本精灵教程(让脚本具有记忆)(5)

写到这里是不是有人觉得长期记忆要比短期记忆好,以后如果用到“记忆”这个功能的时候,就用长期记忆,其实这么想是不对的,这个要根据具体的需要,对于短期记忆来说操作更简便,因为只有一个内容,也避免了干扰项,使用的时候不容易出错。至于使用哪种方式没有固定的,有的时候甚至是长期和短期记忆同时使用。

说到使用了,那么我就来看看怎么提取这个“记忆”,在命令库里面我们是有file.read、file.readline、file.readlines命令,它们都是读取命令,关于命令的介绍,大家可以直接看命令库,我来说一下,提取的思路。

Dim m=file.read("/sdcard/pictures/1.txt")If m = null Then TracePrint "因为文本是空的,这是首次记忆内容"Else TracePrint "读取的内容是:"&mEnd If

这段代码除了有读取功能外,还有判断功能,这个就是提取的思路,不是简单的读取。

分析一下这段代码,我主要写了读取1.txt这个文本,然后对读取的内容进行判断是不是空白的,如果是空白的,说明之前没有“记忆”过内容,脚本是首次使用,如果有内容,我就把内容输出来,可以清楚的看到内容是什么,之后脚本就可以根据内容来执行下一步具体的功能。

如果想要实现更复杂的功能,可以把文本内容赋予特定的意义,比方说,读取到的文本是1,就让脚本执行第一个功能,读取到的文本是2,就让脚本执行第二个功能,以此类推,可以给脚本赋予无限多的可能性。

关于文字记忆功能差不多就是这些内容,但是在实际应用的过程中,很可能是多次存储以及多次提取的混合使用,对于提取的内容二次处理也是非常重要的,还有涉及到大量的判读处理,我们在学习过程中要不断练习,培养自己的编程思维。

下面说一下图片记忆功能:

对于“记忆”这个功能,其实就是两个操作——存储和提取。

图片的存储我们用snapshot命令,提取我们就用找图命令。

先来看一个例子

脚本精灵教程(让脚本具有记忆)(6)

我想要截取“账户”这个位置的图片。

SnapShot "/sdcard/pictures/1.png",70,388,111,416

脚本精灵教程(让脚本具有记忆)(7)

生成了一个叫做1.png的图片,这个图片就是我刚刚截图保存的。如果你想要“长期记忆”那么每一次截图的文件名都要不同,否则就会被覆盖变成了“短期记忆”。

在提取记忆的时候我们是用找图命令,我们通常找图命令是这样写的

脚本精灵教程(让脚本具有记忆)(8)

图片先要手动放到按键精灵的附件里面,之后在代码当中填写图片路径"Attachment:1.png",这样才能找到指定的图片。我们这篇文章讲的是脚本自己记忆,肯定不能用手动添加附件的方式,那么我就要修改找图命令的图片路径了,其实找图命令是支持手机(模拟器)文件路径的,也就是说上面的代码我们在不添加附件的情况下,可以写成这样:

Dim intX, intYFindPic 0, 0, 0, 0, "/sdcard/pictures/1.png", "000000", 0, 0.9, intX, intYIf intX > -1 And intY > -1 Then TracePrint "找到图了"End If

这里的图片路径是"/sdcard/pictures/1.png",和我之前截图的路径是完全一样的了。那么我们就可以把存储和提取结合在一起,形成完整的记忆了。

Dim intX, intYDoFindPic 0, 0, 0, 0, "/sdcard/pictures/1.png", "000000", 0, 0.9, intX, intYIf intX > -1 And intY > -1 Then TracePrint "找到图了,记录一下当前的位置"Delay 500SnapShot "/sdcard/pictures/1.png",70,388,111,416Exit DoElse TracePrint "没有找到图,要往上滑动了"Delay 500Swipe 200,600,200,500,1000End IfDelay 1000Loop

这段代码完成的功能是每次找到图以后,记录一下当前指定位置的图片,保存到指定路径,这样当脚本出现错误,或者手动关闭,再次开启的时候,就可以知道上次脚本运行到哪个“画面”了。

我的代码是把截图命令放到找图命令里面,实际脚本可能会放在完成某个具体的功能后面,比如聊天软件当中和某个人对话后,截取对方头像保存下来,下次在进入聊天窗口以后,可以通过判断画面中有没有截图存储的头像,来判读是不是之前进行过对话。

最后我想说,关于记忆功能在实际应用当中,不同场景的应用代码是不同的,所以大家不要单纯的套用上面我写的代码,要学会举一反三。

  • 椒盐虾的家常制作方法(简单动手做家常椒盐虾)
  • 2024-07-03简单动手做家常椒盐虾简介椒盐虾是一道色香味俱全的家喻户晓名肴,粤菜系主料是海虾口味,香辣外焦香咸辣,肉软嫩鲜美选鲜活中虾,不必去壳做法简单容易掌握,成品外焦香咸辣,肉软嫩鲜美老少皆美食!做法1.活海虾反复用水洗净,先剪虾。
  • 编织鲸鱼教程图解(亲手用毛线编织可爱的小鲸鱼)
  • 2024-07-03亲手用毛线编织可爱的小鲸鱼孩子玩的玩具是不是都是花钱从店里买来的?有没有想过自己动手给孩子做一只萌萌哒的小玩偶呢?做一只小玩偶送给孩子,亲手制作的或许会更有意义呢!制作玩偶可以用很多种方法,用毛线编织的玩偶更有温暖哦~今天我们。
  • 言多必失笑而不语(言不在多言多必失)
  • 2024-07-03言不在多言多必失文/紜魚很多时候,我们有些话,想说又不敢说,只能独自闷闷不乐如果有一天遇到一个尤为健谈的人,哪怕你不想说,也会在他的好言好语中,一吐为快全盘托出的心里话并没有给你带来快乐,甚至更加忧虑,因为有人知道了。
  • 本周花生价格会上涨吗(花生价格大体平稳)
  • 2024-07-03花生价格大体平稳花生信息网2022年8月15日,国内各产区花生行情一览:河南白沙地区新季春花生零星上市,价格偏弱,目前天气较好,适合晾晒,水分好转,但供应量不大,成交以水分质量论价陈米价格弱势,持货商消耗库存,但交易。
  • 凰图腾的结局是什么(凰图腾结局简介)
  • 2024-07-03凰图腾结局简介皇上夜里再次在当初遇到风燕假扮嫦娥的小树林里行走,看到了一只玉兔,然而却已经物是人非了风燕穿着嫦娥的衣服却突然出现,皇上看到很吃惊风燕表示皇上放了自己走,却让自己明白心意有些不舍风燕回到宫殿里看着眼睛。
  • 四大火炉城市(四大火炉城市是哪些)
  • 2024-07-03四大火炉城市是哪些四大火炉指的是重庆、武汉、南昌、长沙这四个城市,这四个城市的地理位置都位于长江流域,夏季气候相较于其他城市明显更加炎热,但是随着气候的变化,各个城市的夏日炎热程度排名也会有所变化根据2019年,我国气。
  • 秦昊还出演吴邪吗(重启之极海听雷吴邪为何不由秦昊继续演)
  • 2024-07-03重启之极海听雷吴邪为何不由秦昊继续演最近,《重启之极海听雷》开播了,作为《盗墓笔记》这个大IP系列的剧,这部剧一开始就引发了广大网友的讨论,特别是男主吴邪这个角色,更是令人关注这一部《重启》中,由朱一龙来扮演吴邪这个角色,而上一部的《沙。
  • 网络媒体采访权是什么(网络媒体采访权的解释)
  • 2024-07-03网络媒体采访权的解释根据2005年颁布的《互联网新闻信息服务管理规定》,新闻网站和商业网站都只能登载或转载时政类新闻信息,即有关政治、经济、军事、外交等社会公共事务的报道、评论,以及有关社会突发事件吉安的报道、评论换言之。
  • 我的世界恶魂为什么会哭(哭泣的恶魂解析)
  • 2024-07-03哭泣的恶魂解析恶魂哭是因为想念家乡恶魂本来只是主世界的一只小章鱼,但是him将它带去了下界做实验,结果就变成了恶魂,它的眼泪就是想念家乡而流的在恶魂的眼角下,有一道很难让人发现的晶莹泪痕,当恶魂在发动攻击的时候要小。
  • 韩国人最高兴的(韩国人根本不用休息)
  • 2024-07-03韩国人根本不用休息笑死,韩国人不用休息这事是不是全世界都知道了感觉全网都在好奇韩国人的进化路程他们白天上班,晚上聚餐、约会、蹦迪、健身,喝酒能喝到凌晨,聊天聊个通宵,然后第二天居然又精神抖擞上班去了!到底是怎么做到的?。
  • 史上最强十部抗战剧(这7部抗战剧值得反复观看)
  • 2024-07-03这7部抗战剧值得反复观看#头条创作挑战赛#1.《亮剑》这部封神之作,我究竟看了多少遍,已经记不清啦!据说,这是抗战剧复播的佼佼者,目前还没一个能超越它你可能很熟悉,里面每一个人物,不管是主角还是配角,都十分出彩②.《我的团长。
  • 个人返汉申请最新通知(最新提示请来返)
  • 2024-07-03最新提示请来返湖北日报讯(记者严芳婷、通讯员武宣)10月27日,从武汉市新冠肺炎疫情防控指挥部办公室获悉,根据常态化疫情防控工作需要,即日起,所有来(返)汉人员应在抵汉前7天内通过“湖北健康码——来(返)汉人员信息。