B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 6|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

°²×¿HID±´Èû¶ûÇúÏßÊÖÊÆ²Ù×÷ʾÀý

[¸´ÖÆÁ´½Ó]

957

Ö÷Ìâ

962

Ìû×Ó

7105

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7105
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷

°²×¿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; ±´Èû¶ûÇúÏßÊÖÊÆÊ¾ÀýÔËÐÐÍê³É£¡");
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³Ì×¨Çø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æÈ¨Èí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2025-10-14 01:23 , Processed in 0.170915 second(s), 35 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí