按键精灵判断重复([良心教程]按键精灵如何实现精准滑动)

Posted

篇首语:你若无书相伴,便没了长相伴。本文由小常识网(cha138.com)小编为大家整理,主要介绍了按键精灵判断重复([良心教程]按键精灵如何实现精准滑动)相关的知识,希望对你有一定的参考价值。

按键精灵判断重复([良心教程]按键精灵如何实现精准滑动)

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.

写脚本的时候,总有一些事与愿违的地方,一个不经意的小地方,可能会令我们寻找半天才发现并且解决,将我们平时碰到的积累起来,是一笔不小的财富,积少成多,跟着我记下书写脚本的点点滴滴吧。



1. 划动的技巧

无论是游戏或者应用软件,我们都常常用的一个功能----划动,但是你真的了解滑动吗?使用他的过程中有没有碰到同样的代码,但是划动的距离不一样,又或者想拖动一个物品之类的东西,却无法成功。这都是对于划动,也就是Swipe的应用不当产生的问题。

一个普通的划动:

  1. Swipe 100,100,200,200

复制代码

我们来思考一下一个划动操作需要什么步骤:

(一)按下一个坐标并捆绑一个触摸ID

(二)划动一个距离

(三)释放指定的触摸ID

但是Swipe仅需要输入起始坐标和结束坐标,他帮我们设定了按下的延时,划动的延时,抬起手指的延时,方便是方便了,大部分情况下也没有问题,但是有一些特殊情况下并不试用,例如我需要的是拖动一个APP的位置,那么我需要按下长达1秒左右才开始划动,这种情况我们并不能使用Swipe,我们需要自己写整个动作:

  1. TouchDown 100, 100, 1 //按一个坐标并指定ID
  2. Delay 1000
  3. TouchMove 200, 200, 1, 500 //从起始坐标划动到指定坐标,历时500毫秒
  4. Delay 1000
  5. TouchUp 1 //释放指定ID的触摸

复制代码

我们在划动到指定坐标后依旧延时了1000毫秒,这个延时主要可以用来阻止划动之后的惯性,许多的游戏或者应用,他们的划动窗口是带有回弹和惯性的,这也是我们经常出现同样代码划动距离不一的主要原因。但是,即使如此,依旧也会有偏差,因为惯性并不能完全消除,那么我们可以使用一些小技巧来解决这个问题:

  1. Function 精准划动(stx, sty, endx, endy, stdelay, movedelay, enddelay,id)
  2. TouchDown stx, sty,id
  3. Delay stdelay
  4. If stx >= endx and sty >= endy Then
  5. TouchMove endx-1, endy-1, id, movedelay/2
  6. Delay movedelay/4
  7. TouchMove endx, endy, id, movedelay / 4
  8. ElseIf stx >= endx and sty <= endy Then
  9. TouchMove endx-1, endy+1, id, movedelay/2
  10. Delay movedelay/4
  11. TouchMove endx, endy, id, movedelay / 4
  12. ElseIf stx <= endx and sty <= endy Then
  13. TouchMove endx+1, endy+1, id, movedelay/2
  14. Delay movedelay/4
  15. TouchMove endx, endy, id, movedelay / 4
  16. ElseIf stx <= endx and sty >= endy Then
  17. TouchMove endx+1, endy-1, id, movedelay/2
  18. Delay movedelay/4
  19. TouchMove endx, endy, id, movedelay / 4
  20. End If
  21. Delay enddelay
  22. TouchUp id
  23. End Function
  24. 精准划动(100,100,200,200,1000,500,1000,1)

复制代码

原理很简单,我们可以先划动超出一点点,再往回划动超出的那一点,一个像素点即可,起始和结束坐标的位置关系有四种,分别考虑进去即可,然后封装成一个类似Swipe的命令,方便使用,这样就能很好的解决划动出现的惯性问题。

2. 用户的第一次

脚本的易用性是推广脚本中遇到的大问题,你一样一样的添加功能的时候,用户可以很快接受,但是一开始没有接触过的用户,拿到你写的功能很庞大的脚本时,他甚至不知道如何下手。当然,你可以写上脚本的使用说明,这是一个不好不坏的主意,很多用户不喜欢看这个,他们很容易在根据界面上的文字勾选输入一番就运行,然后出现各种问题或者是没有反应,就认为此脚本不能用,然后。。。。就没有然后了。

因此,你需要做的是在用户启动的时候,智能的判断用户当前的状况并实施对应的方法回归到统一的地方然后开始进行脚本。打个比方,脚本的功能是自动过副本,起始点是主界面,如果用户使用的时候并不在主界面,那么有几种情况,最坏的一种是你的第一步操作并没有识别界面,于是就会导致功能完全错乱(不小心花掉了元宝之类的重要资源怎么办!),中等的结果就是你的每一步操作都有严格的判定,那么脚本运行的大部分情况是不做任何动作,当然这也不好,我们希望的是最好的结果,游戏自动回到主界面,然后就回到你的正常逻辑,这也是多个功能之间衔接的最佳办法----让他们有一个共同的起点(起始界面)。

每个应用的逻辑不同,起点也由你自己决定,但是我比较推荐的是,让脚本包含应用的自启动,这样我们就能够完美的控制每个用户的操作习惯差异性,当我们识别不到起点时,关闭应用再开启,识别到可回到起点的特征时。执行相关操作来回到起点。

使用此方式,判断应用的开启状态至关重要,我们可以使用GetRunningApp来获取运行中的应用列表,然后进行相关处理:

  1. Dim MyApp = "包名"
  2. Dim IsRunning = false
  3. Dim arr = GetRunningApp()
  4. For Each n In arr
  5. TracePrint n //遍历arr数组并输出所有获取的包名字符
  6. If n = MyApp Then
  7. TracePrint "找到了,停止查找"
  8. IsRunning = true
  9. Exit For
  10. End If
  11. Next
  12. If IsRunning = false Then
  13. RunApp MyApp
  14. End If

复制代码

如果不进行这样的判断就启动应用,重复的启动可能会导致应用崩溃。一个应用可能不止一个人做,因此,用心做好每一个细节和体验,能让你在竞争者中脱引而出。

相关参考

按键精灵滑块验证思路(「按键精灵」为了过滑动验证,想出各种办法)

大家好,我是公众号3分钟学堂的郭立员~之前也做过模拟滑动的效果,是通过随机做的,虽然已经很随机,但是感觉不像是人手动滑动的效果,少了那种比较自然的停顿感。看这个图记录我手动滑的路径,图中我标注了几个位置...

按键精灵重复(三分钟学会按键精灵的多线程功能,90%的人都不会)

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本...

按键精灵如何重复脚本(「按键精灵脚本」写个数独游戏脚本玩玩)

...家好,我是公众号3分钟学堂的郭立员,今天继续我们的按键精灵安卓版学习。前些天下载了一个数独的游戏,简单的难度玩起来还行,稍微难点的解起来就比较费劲了。于是决定写个脚本来替我完成。可能有些朋友没玩过数独...

按键精灵如何重复运行(按键精灵定时器介绍和使用,不会的小伙伴速速看看精辟)

-金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键...

按键精灵 lua插件编写(【按键精灵教程】后台脚本单开变多开 So—Easy)

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本...

按键精灵脚本制作教程(按键精灵脚本开发)

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键...

按键精灵挂机脚本制作(手把手教你如何制作按键小精灵)

一、按键小精灵是什么呢按键小精灵是把按键精灵的脚本打包成一个可单独的exe程序,便于传播以及提供给新手使用。按键小精灵可以分为两种类型,分别是:(1)免费小精灵:便于传播分享。(2)商业小精灵:让用户可以把...

按键精灵lua插件怎么写(历史最牛的按键精灵插件介绍,学会少走很多弯路)

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键...

按键精灵只对某个窗口有效(按键精灵WQM软件使用说明书,资深老师讲解就是详细)

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键...

按键精灵怎么编后端脚本(按键精灵原来可以这样自定义变量,他们原来这样做的)

一、什么是用户自定义变量所谓的自定义变量是Q语言的一种特殊变量类型。它主要是让用户在不修改脚本,可以自己设置这个变量的值。在主界面或者是编辑器的脚本属性栏上可以看到这些变量,而且可以修改它们。二、用户...