信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 782|回复: 0
打印 上一主题 下一主题

[宣传软件网站动态] 安卓HID贝塞尔曲线手势操作示例

[复制链接]

797

主题

881

帖子

5644

积分

积分
5644
跳转到指定楼层
宣传软件楼主
发表于 2025-10-13 08:04:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

资讯缩略图:

资讯发布日期:2025-10-13

资讯发布简介:安卓HID贝塞尔曲线手势操作示例

资讯关键词:安卓HID贝塞尔曲线手势操作示例

资讯所属分类:IT资讯 SEO资讯 

联系:

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件网站分类目录 网址:http://www.postbbs.com/

资讯详细描述
安卓HID贝塞尔曲线手势操作示例
安卓HID贝塞尔曲线手势操作示例 b2b软件

安卓HID贝塞尔曲线手势操作示例 b2b软件


  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页面交互的完整实现nextAIWORK软件在屏幕底部显示实时日志可以移动
回复

使用道具 举报

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

本版积分规则

相关导读
信息发布软件快手极速版自动刷视频无障碍模式
快手极速版自动刷视频无障碍模式
信息发布软件AIWROK软件代理模式一键删除桌面所有APP版示例
AIWROK软件代理模式一键删除桌面所有APP版示例
信息发布软件AIWROK软件自动找图利用agent代理模式删除应用版示例
AIWROK软件自动找图利用agent代理模式删除应用版示例
信息发布软件解析Kimi返回的拖动距离示例
解析Kimi返回的拖动距离示例
信息发布软件自动截图并发送给DEEPSEEK识别示例过程
自动截图并发送给DEEPSEEK识别示例过程
信息发布软件AIWROK软件测试文心识别识别验证码示例
AIWROK软件测试文心识别识别验证码示例
信息发布软件元宝截图B站验证码示例测试
元宝截图B站验证码示例测试
信息发布软件示例千问自动采集文章保存记事本
示例千问自动采集文章保存记事本
信息发布软件豆包识别验证码加拖动验证码示例
豆包识别验证码加拖动验证码示例
信息发布软件豆包对话采集示例
豆包对话采集示例
信息发布软件启动自动百度贴吧发图片
启动自动百度贴吧发图片
信息发布软件自动百度贴吧示例
自动百度贴吧示例
信息发布软件代理模式简书自动流程
代理模式简书自动流程
信息发布软件启动极速版任务页看小说赚钱自动阅读
启动极速版任务页看小说赚钱自动阅读
信息发布软件agent代理模式功能小结
agent代理模式功能小结
信息发布软件完整苹果IOS小脚本文本输入与粘贴流程
完整苹果IOS小脚本文本输入与粘贴流程
信息发布软件AIWROK使用activity列表开关与进度条的协同交互
AIWROK使用activity列表开关与进度条的协同交互
群发软件苹果脚本找图后Detect对象各种方法演示
苹果脚本找图后Detect对象各种方法演示
群发软件苹果脚本网络API监控与数据管理工具
苹果脚本网络API监控与数据管理工具
群发软件IOS苹果脚本TXT文件读写H5日志打印完整示例
IOS苹果脚本TXT文件读写H5日志打印完整示例
群发软件AIWROK软件演示多线程创建暂停恢复
AIWROK软件演示多线程创建暂停恢复
群发软件AIWROK软件定时检查页面状态防止卡死技巧
AIWROK软件定时检查页面状态防止卡死技巧
群发软件安卓脚本runTime相关功能示例
安卓脚本runTime相关功能示例
群发软件floatUI实例秒显示秒关闭吐司功能
floatUI实例秒显示秒关闭吐司功能
群发软件苹果脚本HID多行实例粘帖板示例
苹果脚本HID多行实例粘帖板示例
群发软件安卓脚本HID节点查找完整方法示例
HID节点查找完整方法示例
群发软件AIWROK软件框架的抖音自动化营销系统
AIWROK软件框架的抖音自动化营销系统
群发软件赛博朋克任务控制中心H5示例
赛博朋克任务控制中心H5示例
群发软件苹果脚本现代深色UI设计风格
现代深色UI设计风格
群发软件AIWROK软件智能任务监控悬浮窗
AIWROK软件智能任务监控悬浮窗
群发软件AIWROK软件事件监听示例
AIWROK软件事件监听示例
群发软件QZ掘金原生UI界面
QZ掘金原生UI界面
群发软件安卓脚本auto方法完整示例
安卓脚本auto方法完整示例
群发软件安卓脚本暂停弹出确认对话框
安卓脚本暂停弹出确认对话框
群发软件苹果iOS脚本天气信息查询工具
苹果iOS脚本天气信息查询工具
群发软件安卓脚本简化版H5日志输出窗口
安卓脚本简化版H5日志输出窗口
群发软件安卓脚本简化版H5日志输出窗口
安卓脚本简化版H5日志输出窗口
群发软件安卓脚本应用重置、代理模式监控及补丁升级
安卓脚本应用重置、代理模式监控及补丁升级
群发软件安卓脚本里的打开关闭安装以及卡密授权信息
安卓脚本里的打开关闭安装以及卡密授权信息
群发软件AIWROK软件脚本GET下载文件并检测0KB工具
AIWROK软件脚本GET下载文件并检测0KB工具
群发软件安卓脚本HID按键方法完整示例
安卓脚本HID按键方法完整示例
群发软件AIWROK软件键鼠HID滑动所有方法功能演示
AIWROK软件键鼠HID滑动所有方法功能演示
群发软件苹果脚本里HID的5种滑动方法的使用
苹果脚本里HID的5种滑动方法的使用
群发软件苹果脚本示例7种不同的OCR识别和点击方法
苹果脚本示例7种不同的OCR识别和点击方法
群发软件AIWROK软件安卓脚本FTP上传下载例子
AIWROK软件安卓脚本FTP上传下载例子
群发软件AIWROK软件脚本JSON转换示例
AIWROK软件脚本JSON转换示例
群发软件AIWROK软件运算符高级应用实例
AIWROK软件运算符高级应用实例
群发软件JavaScript语法小示例
JavaScript语法小示例
群发软件展示JavaScript各种语句标识符的实际应用
展示JavaScript各种语句标识符的实际应用
群发软件AIWROK条件语句实用示例智能活动推荐系统
AIWROK条件语句实用示例智能活动推荐系统
群发软件AIWROK软件示例数组方法实战应用
AIWROK软件示例数组方法实战应用
群发软件示例JavaScript的 try-catch-finally-throw用法
示例JavaScript的 try-catch-finally-throw用法
群发软件JavaScript 高级错误处理实战示例
JavaScript 高级错误处理实战示例
群发软件安卓脚本AIWROK软件示例JS函数高级用法
安卓脚本AIWROK软件示例JS函数高级用法
群发软件AIWROK环境JavaScript编码规范完整示例
AIWROK环境JavaScript编码规范完整示例
群发软件安卓脚本示例实时截图判断页面变化
安卓脚本示例实时截图判断页面变化
群发软件苹果脚本7种不同的OCR识别
苹果脚本7种不同的OCR识别
群发软件安卓脚本多变的function用法
安卓脚本多变的function用法
群发软件苹果脚本示例Config配置H5集成
苹果脚本示例Config配置H5集成
群发软件安卓脚本类型判断与Boolean对象综合示例
安卓脚本类型判断与Boolean对象综合示例
群发软件线程全局变量H5可视化控制台
线程全局变量H5可视化控制台
群发软件秒吐司快速显示和关闭的UI提示窗口
秒吐司快速显示和关闭的UI提示窗口
群发软件苹果脚本里H5 里的 window.at.callFun 示例
苹果脚本里H5 里的 window.at.callFun 示例
群发软件H5日志打印运行过程例子
H5日志打印运行过程例子
群发软件AIWROK软件字符串方法实用案例
AIWROK软件字符串方法实用案例

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2026-7-27 06:21 , Processed in 0.169704 second(s), 51 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表