注册 登录
发贴工具
查看: 13|回复: 0
打印 上一主题 下一主题

[24小时收录超级好的网站] 安卓HID贝塞尔曲线手势操作示例

[复制链接]

2384

主题

2432

帖子

1万

积分

积分
14516
跳转到指定楼层
楼主
安卓HID贝塞尔曲线手势操作示例
安卓HID贝塞尔曲线手势操作示例 群发软件发帖工具

安卓HID贝塞尔曲线手势操作示例 群发软件发帖工具

  1. /*
  2. 🍎===============================================================
  3. 🍎                  安卓HID贝塞尔曲线手势操作示例
  4. 🍎===============================================================
  5. 🍎 本文件演示如何使用HID实现贝塞尔曲线路径的手势操作
  6. 🍎 可用于模拟人工滑动轨迹,绕过轨迹检测等场景
  7. 🍎===============================================================
  8. */

  9. // 📌示例1:基础贝塞尔曲线手势演示
  10. function basicBezierGestureDemo() {
  11.     print.log("=== 基础贝塞尔曲线手势演示 ===");
  12.    
  13.     // 检查HID是否开启
  14.     if (!hid.isOn()) {
  15.         print.log("HID未开启,请先开启HID功能");
  16.         return;
  17.     }
  18.    
  19.     // 获取设备信息
  20.     var deviceName = hid.getName();
  21.     var deviceID = hid.getDeviceID();
  22.     print.log("HID设备名称:", deviceName);
  23.     print.log("设备型号:", deviceID);
  24.    
  25.     // 执行基础贝塞尔曲线手势
  26.     print.log("执行基础贝塞尔曲线手势...");
  27.     runCustomGesture(161, 1434, 720, 900);
  28.     sleep.millisecond(1000);
  29. }

  30. // 📌示例2:多轨迹贝塞尔曲线手势演示
  31. function multiBezierGestureDemo() {
  32.     print.log("=== 多轨迹贝塞尔曲线手势演示 ===");
  33.    
  34.     // 检查HID是否开启
  35.     if (!hid.isOn()) {
  36.         print.log("HID未开启,请先开启HID功能");
  37.         return;
  38.     }
  39.    
  40.     // 执行多个不同的贝塞尔曲线手势
  41.     print.log("执行多个贝塞尔曲线手势...");
  42.    
  43.     // 手势1: 从(161, 1434)到(720, 900)
  44.     runCustomGesture(161, 1434, 720, 900);
  45.     sleep.millisecond(1000);
  46.    
  47.     // 手势2: 从(100, 1000)到(800, 500)
  48.     runCustomGesture(100, 1000, 800, 500);
  49.     sleep.millisecond(1000);
  50.    
  51.     // 手势3: 从(300, 1200)到(600, 700)
  52.     runCustomGesture(300, 1200, 600, 700);
  53.     sleep.millisecond(1000);
  54.    
  55.     print.log("多轨迹贝塞尔曲线手势演示完成");
  56. }

  57. /**
  58. * 生成指定范围内的随机数
  59. * @param a {number} 最小值
  60. * @param b {number} 最大值
  61. * @return {number} 随机数
  62. */
  63. function random(a, b) {
  64.     return rand.randNumber(a, b);
  65. }

  66. /**
  67. * 贝塞尔曲线手势执行函数 - 基于HID实现
  68. * @param time_ms {number} 执行时间 ms 例如 3000
  69. * @param t {number} 间隔系数 0-1 间, 越小线条越圆润,计算量越大, 例如 0.005
  70. * @param pt {number[][]} 控制点坐标的二维数组 例如 [[137,169],[140,283]]
  71. */
  72. function bezierHID(time_ms, t, pt) {
  73.     print.log("开始执行贝塞尔曲线手势,预计时间: " + time_ms + "ms");
  74.    
  75.     // 检查参数
  76.     if (!pt || pt.length < 2) {
  77.         print.log("错误:控制点数量不足,至少需要2个点");
  78.         return;
  79.     }
  80.    
  81.     // 检查HID是否开启
  82.     if (!hid.isOn()) {
  83.         print.log("错误:HID未开启,请先开启HID功能");
  84.         return;
  85.     }
  86.    
  87.     // 计算总步数
  88.     var fps = 1 / t;
  89.     var stepTime = time_ms / fps; // 每步的时间间隔
  90.     print.log("总步数: " + fps + ", 每步时间: " + stepTime + "ms");
  91.    
  92.     // 计算第一个点并按下
  93.     var firstPoint = calculateBezier(0, JSON.parse(JSON.stringify(pt)));
  94.     print.log("起始点: [" + firstPoint[0] + ", " + firstPoint[1] + "]");
  95.     hid.touchDown(0, firstPoint[0], firstPoint[1]);
  96.     sleep.millisecond(stepTime);
  97.    
  98.     // 移动到中间各点
  99.     for (var i = 1; i < fps; i++) {
  100.         var copyArr = JSON.parse(JSON.stringify(pt)); // 拷贝一份 js的数组是引用传递
  101.         var xy = calculateBezier(i * t, copyArr);
  102.         hid.touchMove(0, xy[0], xy[1]);
  103.         sleep.millisecond(stepTime);
  104.     }
  105.    
  106.     // 计算最后一个点并抬起
  107.     var lastPoint = calculateBezier(1, JSON.parse(JSON.stringify(pt)));
  108.     print.log("结束点: [" + lastPoint[0] + ", " + lastPoint[1] + "]");
  109.     hid.touchMove(0, lastPoint[0], lastPoint[1]);
  110.     sleep.millisecond(stepTime);
  111.     hid.touchUp(0);
  112.    
  113.     print.log("贝塞尔曲线手势执行完成");
  114. }

  115. /**
  116. * 计算贝塞尔曲线上的点
  117. * @param t {number} 0 ~ 1的时间参数
  118. * @param point2Fs {number[][]} 贝塞尔点集合
  119. * @return {number[]} 返回当前时间下的贝塞尔点
  120. */
  121. function calculateBezier(t, point2Fs) {
  122.     var len = point2Fs.length;
  123.     for (var i = len - 1; i > 0; i--) {
  124.         for (var j = 0; j < i; j++) {
  125.             point2Fs[j][0] = point2Fs[j][0] + (point2Fs[j + 1][0] - point2Fs[j][0]) * t;
  126.             point2Fs[j][1] = point2Fs[j][1] + (point2Fs[j + 1][1] - point2Fs[j][1]) * t;
  127.         }
  128.     }

  129.     return [parseInt(point2Fs[0][0]), parseInt(point2Fs[0][1])];
  130. }

  131. /**
  132. * 示例:自定义贝塞尔曲线手势
  133. * @param startX {number} 起点X坐标
  134. * @param startY {number} 起点Y坐标
  135. * @param endX {number} 终点X坐标
  136. * @param endY {number} 终点Y坐标
  137. */
  138. function runCustomGesture(startX, startY, endX, endY) {
  139.     // 生成一个随机的控制点
  140.     var ctrlX = random(Math.min(startX, endX), Math.max(startX, endX));
  141.     var ctrlY = random(Math.min(startY, endY), Math.max(startY, endY));
  142.    
  143.     // 构造控制点数组 (4个点的贝塞尔曲线)
  144.     var points = [
  145.         [startX, startY],
  146.         [ctrlX, ctrlY],
  147.         [ctrlX, ctrlY],
  148.         [endX, endY]
  149.     ];
  150.    
  151.     print.log("执行自定义手势: 从(" + startX + "," + startY + ")到(" + endX + "," + endY + ")");
  152.     bezierHID(2000, 0.01, points);
  153. }

  154. // &#128204;工具函数:安全执行贝塞尔曲线手势
  155. function safeBezierGesture(startX, startY, endX, endY, retries) {
  156.     if (typeof retries === 'undefined') retries = 3;
  157.    
  158.     for (var i = 0; i < retries; i++) {
  159.         try {
  160.             runCustomGesture(startX, startY, endX, endY);
  161.             print.log("贝塞尔曲线手势执行成功");
  162.             return true;
  163.         } catch (error) {
  164.             print.log("手势执行失败,重试第 " + (i + 1) + " 次:" + error);
  165.             sleep.millisecond(500);
  166.         }
  167.     }
  168.     print.log("贝塞尔曲线手势最终执行失败");
  169.     return false;
  170. }

  171. // &#128204;主函数:运行所有演示
  172. function runAllBezierGestureDemos() {
  173.     print.log("\n&#127822;===========================================");
  174.     print.log("&#127822;        HID 贝塞尔曲线手势演示开始");
  175.     print.log("&#127822;===========================================");
  176.    
  177.     // 运行各个演示
  178.     basicBezierGestureDemo();
  179.     sleep.millisecond(2000);
  180.    
  181.     multiBezierGestureDemo();
  182.     sleep.millisecond(2000);
  183.    
  184.     print.log("\n&#127822;===========================================");
  185.     print.log("&#127822;        HID 贝塞尔曲线手势演示结束");
  186.     print.log("&#127822;===========================================");
  187. }

  188. // &#128204;快速测试函数
  189. function quickBezierTest() {
  190.     print.log("=== HID 贝塞尔曲线手势快速测试 ===");
  191.    
  192.     if (!hid.isOn()) {
  193.         print.log("❌ HID未开启");
  194.         return;
  195.     }
  196.    
  197.     print.log("✅ HID已开启");
  198.     print.log("&#128241; 设备:", hid.getDeviceID());
  199.     print.log("&#127991;️ 名称:", hid.getName());
  200.    
  201.     // 简单手势测试
  202.     runCustomGesture(161, 1434, 720, 900);
  203.     sleep.millisecond(1000);
  204.     print.log("✅ 贝塞尔曲线手势测试完成");
  205.    
  206.     print.log("&#127881; 快速测试全部完成");
  207. }

  208. /*
  209. &#127822;使用方法:
  210. 1. 确保HID设备已正确连接并开启
  211. 2. 根据需要调用相应的演示函数:
  212.    - basicBezierGestureDemo()     // 基础贝塞尔曲线手势演示
  213.    - multiBezierGestureDemo()     // 多轨迹贝塞尔曲线手势演示
  214.    - runCustomGesture()           // 自定义贝塞尔曲线手势
  215.    - safeBezierGesture()          // 安全贝塞尔曲线手势
  216.    - runAllBezierGestureDemos()   // 运行全部演示
  217.    - quickBezierTest()            // 快速测试

  218. &#127822;注意事项:
  219. 1. 运行前请确保目标设备屏幕解锁
  220. 2. 坐标和时间延迟可根据实际情况调整
  221. 3. 建议在测试环境下运行,避免误操作

  222. &#127822;技术支持:
  223. QQ群:711841924 (群一)
  224. QQ群:528816639 (苹果内测群)
  225. */

  226. // 自动启动快速测试
  227. print.log("&#127822; 安卓HID贝塞尔曲线手势示例自动运行开始...");
  228. sleep.millisecond(1000);

  229. // 快速测试
  230. quickBezierTest();
  231. sleep.millisecond(2000);

  232. print.log("&#127822; 贝塞尔曲线手势示例运行完成!");
复制代码



unto安卓端与H5页面交互的完整实现nextnocontent
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    Apr.20旅行X心语今天来说说YYPOST新功能的一个灵活用法,采集亚马逊商品信息,并且获得排名的软件,亚马逊现在越来越多客户做,淘宝的水是越来越清了,以前做电商的客户,现在都转战到外国,最赚钱的要数一些客户往亚马逊里堆了吧,拿我这个YYPOST的客户,最多的是采集,分析排名,刷价格,刷数量,改价,刷访问量等等技术

    企业发展B2B网站有什么东东软件可以发呢
    标题企业发展网B2B软件,现在虽然B2B网站收录不错,可愁的是心急的人们,他们太想一口吃撑胖子了,发帖宣传虽然不能像佛系那样淡定,但也不能像跑火车那般急躁对待,自己内容不收录,完全是自己操作内容问题,可以参考一下别人的内容是怎么弄的,然后自己要试着转变,而且收录这个内容,常常会变化的,不是一种规则就吃到老

    搜房天下房聊软件哪一个好呢
    本帖最后由 发帖软件 于 2019-5-22 16:15 编辑 2搜房天下群发房聊信息软件,开始本来打算做58同城的,但发一个就要一次点触验证码,这就让人没有感觉到存在的价值了吧,都是卖二手房和新房的搜房天下倒是可以发即时聊天信息,也没有发现他这个网站有啥子限制,登陆一个搜房天下账号,然后采集回来分类列表的网址,然后就一

    大家坛有没有好用的群发工具下载呢
    当你的笑容给我礼貌的招呼,大家坛全自动发帖软件,宣传推广是一场持久战,总是有一些人把软件用了一天,或是几个小时,就觉得自己付出太多了,那加进来的粉丝,或是流量,应该是和宣传多少成正比的,其实没有这么便宜的事,就像很多阅读量超过一百万的视频,或是电影,真正会在屏幕打赏的人不会超过三千,真正大额打赏给主

    群发正版软件中国塑料网
    中国塑料网群发软件YYPOST脚本下载地址,这个网站会有一个很奇怪的问题就是你在首页登陆无半个验证码,但在登陆网址登陆就会有一个验证码,所以我们灵活一些,在首页登陆就不用输入验证码了哈。网站秒收录比较高,但发的都是五金和建筑行业,先前有很多人都是发土建工程的大公司操作的,现在这个网站专为那个行业诞生的吧。

    OpenStreetMap网站正版2019年发帖工具下载
    本帖最后由 发帖软件 于 2019-5-21 11:13 编辑 OpenStreetMap网站全自动群发,OpenStreetMapOpenStreetMap(简称OSM,中文是公开地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。有的人编辑地图然后等收录,有的人发日志等收录,我们这里也是利用地图日志做为宣传的目标,简单的脚本理

    搜房天下全自动收短信全自动识别验证码注册账号软件
    房天下自动注册机,这个脚本是前几天发房聊的脚本廷伸品种,这个脚本能做到自动注册账号,自动保存账号,自动发房聊的效果,不过今天我们主要说一说怎么注册账号写脚本吧,这个搜房天天下的账号,可以发提问,可以发房聊,发论坛,发博客,还有发个人中心页都是有秒收的效果的,这样就省去了去买号,去乱花钱的效果了吧,而

    企业邮箱安卓端有什么APP软件可以发的呢
    请输入标题企业邮箱安卓发发送邮箱脚本,这个脚本是利用企业邮箱进行群发的,全程是一种模拟手工操作的过程,所以封号是很少的,而且企业邮箱群发到普通QQ邮箱不容易进垃圾箱中的,所以这个脚本也是这样的原理,不过最好是利用一些多开器,登陆多点的QQ邮箱账号会比较流畅一些,然后用软件一个一个的切换APP进行群发邮件会

    头条留评论软件有没有好用的呢?
    今天整一个今日头条留言软件,对于留言YYPOST是优势是比较大的存在,因为他往往专注一些下拉定位的优点,像今日头条这样,还是需要一些特殊下拉定位的,因为他新闻有长有短,有图有视频的,所以综合起来定位是比较难的,如果用POST也不是很轻松可以破解他的加密参数。这个脚本也是有一个不好的地方就是换号会比较麻烦,您电

    单网页生成神器
    最近新技术,网页生成机占领了整个网络的半壁江山,效果很疯狂,虽然不知道能持续多久,作为开发软件的领头者,一直在找收录的方法,一直在努力创新着,一直被人模仿,却从没有被超越过,这个网页生成机,已经出来有一段时间了,一直没有拿出来分享,醉过醉过,它是利用的一些小小收录漏洞整的,您最好用一些老站域名,进行

关闭
快速回复 返回列表 返回顶部
本站自动发贴软件,是现在最流行的做脚本软件,这种发贴工具,不但发贴收录快,而且抢占好的先机,完全自由编辑,实现针对性群发模拟操作,软件可以顶贴,也可以发贴,可以兼容支持Discuz、PHPWind、Dvbbs三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖