|
|
Æ»¹û½Å±¾¾ØÐÎÀàrectСʵÀý
- /*
- 🍎 AIWROKÈí¼þÆ»¹ûiOS¿ª·¢Îĵµ
- 🔨 ¾ØÐÎÀà [RectClass] È«ÐÂϵͳ»¯Ê¾Àý
- // 🍎½»Á÷QQȺ£º711841924£¨Èº£©
- // 🍎½»Á÷QQȺ£º528816639 £¨Æ»¹ûÄÚ²âȺ£©
- 🎯 ÊÊÓãºAIWROK Æ»¹ûiOS ×Ô¶¯»¯½Å±¾
- */
- printl("=== 🍎 RectClass¾ØÐÎÀàÈ«ÐÂϵͳ»¯Ê¾ÀýÆô¶¯ ===");
- sleep.millisecond(1000);
- // ============================================
- // 📚 µÚÒ»²¿·Ö£ºRectClass »ù´¡¸ÅÄîÓë»ñÈ¡·½Ê½
- // ============================================
- printl("\n📖 µÚÒ»²¿·Ö£ºRectClass »ù´¡¸ÅÄî");
- sleep.millisecond(800);
- // 🔹 ³¡¾° 1: ´Ó OCR ¼ì²â½á¹û»ñÈ¡ Rect
- printl("\n¡¾³¡¾° 1¡¿Í¨¹ý OCR ʶ±ð»ñÈ¡Îı¾ÇøÓò¾ØÐÎ");
- sleep.millisecond(800);
- var demoRect = null;
- var hasDemoRect = false;
- try {
- // Ö´ÐÐÈ«ÆÁ OCR ʶ±ð£¨Ê¹ÓðٷֱÈ×ø±ê 0-1£©
- var ocrResult = screen.ocr(0, 0, 1, 1);
- printl("✓ OCR ʶ±ðÍê³É");
-
- // »ñÈ¡ËùÓмì²âµ½µÄÄ¿±ê
- var detects = ocrResult.getAllDetect();
- printl("✓ ¼ì²âµ½ " + detects.length + " ¸öÄ¿±ê");
-
- if (detects.length > 0) {
- // ´ÓµÚÒ»¸ö¼ì²âÄ¿±ê»ñÈ¡¾ØÐζÔÏó
- var rectFromOCR = detects[0].getRect();
- printl("✓ ³É¹¦»ñÈ¡¾ØÐζÔÏó£º" + rectFromOCR.toString());
- sleep.millisecond(500);
-
- // 🔥 ¿ÉÊÓ»¯ÑÝʾ£ºµã»÷¾ØÐÎÖÐÐĵ㣬ÈúìÉ«¿òÏÔʾ³öÀ´
- printl("\n🔥 ¿ÉÊÓ»¯ÑÝʾ£ºµã»÷Ä¿±êÇøÓò£¬ÆÁÄ»»áÏÔʾºìÉ«¿ò");
- sleep.millisecond(800);
- printl(" ¾ØÐÎλÖãº" + rectFromOCR.toString());
- sleep.millisecond(500);
-
- // »ñÈ¡ÖÐÐĵã×ø±ê
- var cx = rectFromOCR.getCenterX();
- var cy = rectFromOCR.getCenterY();
- printl(" ÖÐÐĵã×ø±ê£º(" + cx.toFixed(4) + ", " + cy.toFixed(4) + ")");
- sleep.millisecond(500);
- printl(" 🎯 ×¼±¸µã»÷Ä¿±ê...");
- sleep.millisecond(500);
-
- // ʹÓà Detect ¶ÔÏóµÄµã»÷·½·¨£¨»á×Ô¶¯ÏÔʾºìÉ«¿ò£©
- detects[0].click();
- printl(" ✓ Òѵã»÷Ä¿±ê£¬Ó¦¸Ã¿´µ½ºìÉ«¾ØÐοòÁË£¡");
- sleep.millisecond(1500); // µÈ´ýºìÉ«¿òÏÔʾ
-
- // ±£´æÎªºóÐøÊ¾ÀýʹÓÃ
- demoRect = rectFromOCR;
- hasDemoRect = true;
- } else {
- printl("⚠️ δ¼ì²âµ½Ä¿±ê£¬½«Ê¹ÓÃÄ£ÄâÊý¾ÝÑÝʾ");
- hasDemoRect = false;
- }
- } catch (e) {
- printl("⚠️ OCR ʶ±ðʧ°Ü£º" + e.message);
- hasDemoRect = false;
- }
- sleep.millisecond(800);
- // ¼ì²é demoRect ÊÇ·ñ¿ÉÓÃ
- if (!hasDemoRect || !demoRect) {
- printl("\n❌ ÓÉÓÚÎÞ·¨»ñÈ¡ Rect ¶ÔÏ󣬺óÐøÑÝʾÎÞ·¨½øÐÐ");
- printl("💡 Ìáʾ£ºÇëÈ·±£ÆÁÄ»ÉÏÓпÉʶ±ðµÄÎı¾ÄÚÈÝ");
- printl("\n=== 🍎 RectClass¾ØÐÎÀàϵͳ»¯Ê¾ÀýÌáǰ½áÊø ===");
- } else {
- // 🔹 ³¡¾° 2: ˵Ã÷ÊÖ¶¯´´½¨ Rect ¶ÔÏ󣨽öÀíÂÛÑÝʾ£©
- printl("\n¡¾³¡¾° 2¡¿¹ØÓÚ´´½¨¾ØÐζÔÏóµÄ˵Ã÷");
- sleep.millisecond(800);
- // ============================================
- // 📊 µÚ¶þ²¿·Ö£º¾ØÐα߽çÐÅÏ¢»ñÈ¡·½·¨
- // ============================================
- printl("\n📊 µÚ¶þ²¿·Ö£º¾ØÐα߽çÐÅÏ¢»ñÈ¡");
- sleep.millisecond(800);
- // 📌 ·½·¨ 1: getLeft() - »ñÈ¡×ó±ß½ç
- printl("\n¡¾·½·¨ 1¡¿getLeft() - »ñÈ¡×ó±ß½ç X ×ø±ê");
- sleep.millisecond(500);
- var left = demoRect.getLeft();
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºDouble");
- printl(" ©À©¤ ¹¦ÄÜ˵Ã÷£º·µ»Ø¾ØÐÎ×ó±ß½çµÄ X ×ø±êÖµ");
- printl(" ©¸©¤ ʾÀý½á¹û£º×ó±ß½ç = " + left);
- sleep.millisecond(300);
- // 📌 ·½·¨ 2: getRight() - »ñÈ¡Óұ߽ç
- printl("\n¡¾·½·¨ 2¡¿getRight() - »ñÈ¡Óұ߽ç X ×ø±ê");
- sleep.millisecond(500);
- var right = demoRect.getRight();
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºDouble");
- printl(" ©À©¤ ¹¦ÄÜ˵Ã÷£º·µ»Ø¾ØÐÎÓұ߽çµÄ X ×ø±êÖµ");
- printl(" ©¸©¤ ʾÀý½á¹û£ºÓұ߽ç = " + right);
- sleep.millisecond(300);
- // 📌 ·½·¨ 3: getTop() - »ñÈ¡Éϱ߽ç
- printl("\n¡¾·½·¨ 3¡¿getTop() - »ñÈ¡Éϱ߽ç Y ×ø±ê");
- sleep.millisecond(500);
- var top = demoRect.getTop();
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºDouble");
- printl(" ©À©¤ ¹¦ÄÜ˵Ã÷£º·µ»Ø¾ØÐÎÉϱ߽çµÄ Y ×ø±êÖµ");
- printl(" ©¸©¤ ʾÀý½á¹û£ºÉϱ߽ç = " + top);
- sleep.millisecond(300);
- // 📌 ·½·¨ 4: getBottom() - »ñȡϱ߽ç
- printl("\n¡¾·½·¨ 4¡¿getBottom() - »ñȡϱ߽ç Y ×ø±ê");
- sleep.millisecond(500);
- var bottom = demoRect.getBottom();
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºDouble");
- printl(" ©À©¤ ¹¦ÄÜ˵Ã÷£º·µ»Ø¾ØÐÎϱ߽çµÄ Y ×ø±êÖµ");
- printl(" ©¸©¤ ʾÀý½á¹û£ºÏ±߽ç = " + bottom);
- sleep.millisecond(300);
- // ============================================
- // 📐 µÚÈý²¿·Ö£º¾ØÐγߴçÓëÖÐÐÄµã¼ÆËã
- // ============================================
- printl("\n📐 µÚÈý²¿·Ö£º¾ØÐγߴçÓëÖÐÐĵã");
- sleep.millisecond(800);
- // 📌 ·½·¨ 5: getWidth() - »ñÈ¡¿í¶È
- printl("\n¡¾·½·¨ 5¡¿getWidth() - »ñÈ¡¾ØÐοí¶È");
- sleep.millisecond(500);
- var width = demoRect.getWidth();
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºDouble");
- printl(" ©À©¤ ¼ÆË㹫ʽ£ºwidth = right - left");
- printl(" ©¸©¤ ʾÀý½á¹û£º¿í¶È = " + width);
- sleep.millisecond(300);
- // 📌 ·½·¨ 6: getHeight() - »ñÈ¡¸ß¶È
- printl("\n¡¾·½·¨ 6¡¿getHeight() - »ñÈ¡¾ØÐθ߶È");
- sleep.millisecond(500);
- var height = demoRect.getHeight();
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºDouble");
- printl(" ©À©¤ ¼ÆË㹫ʽ£ºheight = bottom - top");
- printl(" ©¸©¤ ʾÀý½á¹û£º¸ß¶È = " + height);
- sleep.millisecond(300);
- // 📌 ·½·¨ 7: getCenterX() - »ñÈ¡ÖÐÐÄ X ×ø±ê
- printl("\n¡¾·½·¨ 7¡¿getCenterX() - »ñȡˮƽÖÐÐĵã");
- sleep.millisecond(500);
- var centerX = demoRect.getCenterX();
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºDouble");
- printl(" ©À©¤ ¼ÆË㹫ʽ£ºcenterX = (left + right) / 2");
- printl(" ©¸©¤ ʾÀý½á¹û£ºÖÐÐÄ X = " + centerX);
- sleep.millisecond(300);
- // 📌 ·½·¨ 8: getCenterY() - »ñÈ¡ÖÐÐÄ Y ×ø±ê
- printl("\n¡¾·½·¨ 9¡¿getCenterY() - »ñÈ¡´¹Ö±ÖÐÐĵã");
- sleep.millisecond(500);
- var centerY = demoRect.getCenterY();
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºDouble");
- printl(" ©À©¤ ¼ÆË㹫ʽ£ºcenterY = (top + bottom) / 2");
- printl(" ©¸©¤ ʾÀý½á¹û£ºÖÐÐÄ Y = " + centerY);
- sleep.millisecond(300);
- // 💡 ʵÓü¼ÇÉ£º»ñÈ¡¾ØÐÎÖÐÐĵã×ø±ê£¨³£ÓÃÓÚµã»÷²Ù×÷£©
- printl("\n💡 ʵÓü¼ÇÉ£ºµã»÷¾ØÐÎÖÐÐÄλÖÃ");
- sleep.millisecond(500);
- printl(" // »ñÈ¡ÖÐÐĵã×ø±ê");
- printl(" var cx = rect.getCenterX();");
- printl(" var cy = rect.getCenterY();");
- printl(" // Ö´Ðеã»÷£¨ÐèÒª½áºÏµã»÷Àࣩ");
- printl(" // click.click(cx, cy);");
- printl(" µ±Ç°¾ØÐÎÖÐÐĵ㣺(" + centerX + ", " + centerY + ")");
- // ============================================
- // 🎯 µÚËIJ¿·Ö£º¾ØÐÎÄÚËæ»úµãÉú³ÉÓë½»»¥
- // ============================================
- printl("\n🎯 µÚËIJ¿·Ö£º¾ØÐÎÄÚËæ»úµãÉú³É");
- sleep.millisecond(800);
- // 📌 ·½·¨ 12: getRandX() - Éú³ÉËæ»ú X ×ø±ê
- printl("\n¡¾·½·¨ 12¡¿getRandX() - Éú³É¾ØÐÎÄÚËæ»ú X ×ø±ê");
- sleep.millisecond(500);
- var randomX = demoRect.getRandX();
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºDouble");
- printl(" ©À©¤ ȡֵ·¶Î§£º[left, right] Ö®¼äµÄËæ»úÖµ");
- printl(" ©¸©¤ ʾÀý½á¹û£ºËæ»ú X = " + randomX);
- sleep.millisecond(300);
- // 📌 ·½·¨ 13: getRandY() - Éú³ÉËæ»ú Y ×ø±ê
- printl("\n¡¾·½·¨ 13¡¿getRandY() - Éú³É¾ØÐÎÄÚËæ»ú Y ×ø±ê");
- sleep.millisecond(500);
- var randomY = demoRect.getRandY();
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºDouble");
- printl(" ©À©¤ ȡֵ·¶Î§£º[top, bottom] Ö®¼äµÄËæ»úÖµ");
- printl(" ©¸©¤ ʾÀý½á¹û£ºËæ»ú Y = " + randomY);
- sleep.millisecond(300);
- // 💡 ʵÓó¡¾°£ºÄ£Äâ×ÔÈ»Ëæ»úµã»÷£¨±ÜÃâ»úе»¯²Ù×÷£©
- printl("\n💡 ʵÓó¡¾°£ºÔÚ¾ØÐÎÇøÓòÄÚËæ»úµã»÷");
- sleep.millisecond(500);
- printl(" // Éú³É¶à´ÎËæ»úµã»÷×ø±ê£¬Ä£ÄâÕæÊµÓû§ÐÐΪ");
- for (var i = 1; i <= 3; i++) {
- var rx = demoRect.getRandX();
- var ry = demoRect.getRandY();
- printl(" µÚ " + i + " ´ÎËæ»úµã»÷×ø±ê£º(" + rx.toFixed(2) + ", " + ry.toFixed(2) + ")");
- }
- // ============================================
- // ✅ µÚÎ岿·Ö£ºµãλ¼ì²âÓë±ß½çÉèÖÃ
- // ============================================
- printl("\n✅ µÚÎ岿·Ö£ºµãλ¼ì²âÓë±ß½çÉèÖÃ");
- sleep.millisecond(800);
- // 📌 ·½·¨ 9: inRect() - ÅжϵãÊÇ·ñÔÚ¾ØÐÎÄÚ
- printl("\n¡¾·½·¨ 9¡¿inRect(x, y) - ÅжÏ×ø±êµãÊÇ·ñÔÚ¾ØÐÎÄÚ²¿");
- sleep.millisecond(500);
- printl(" ©À©¤ ²ÎÊýÀàÐÍ£ºDouble x, Double y");
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºBoolean");
- printl(" ©À©¤ ¹¦ÄÜ˵Ã÷£º¼ì²é¸ø¶¨µãÊÇ·ñÔÚ¾ØÐÎÄÚ²¿£¨°üº¬±ß½ç£©");
- printl(" ©¸©¤ ×¢ÒâÊÂÏ²¿·Ö°æ±¾¿ÉÄܲ»Ö§³Ö´Ë·½·¨£¬¿ÉÊÖ¶¯ÊµÏÖ");
- // 💡 ÊÖ¶¯ÊµÏÖµãλ¼ì²â£¨¼æÈÝÐÔ¸üºÃµÄ·½Ê½£©
- printl("\n💡 ¼æÈÝ·½°¸£ºÊÖ¶¯ÊµÏÖµãλ¼ì²âÂß¼");
- function isPointInRect(rect, x, y) {
- var left = rect.getLeft();
- var right = rect.getRight();
- var top = rect.getTop();
- var bottom = rect.getBottom();
-
- // ÅжÏÌõ¼þ£ºleft <= x <= right ÇÒ top <= y <= bottom
- return (x >= left && x <= right && y >= top && y <= bottom);
- }
- var testPoint1 = {x: centerX, y: centerY}; // ÖÐÐĵ㣨Ӧ¸ÃÔÚÄÚ²¿£©
- var testPoint2 = {x: left - 50, y: top - 50}; // ×óÉϽÇÍⲿµã£¨Ó¦¸ÃÔÚÍⲿ£©
- var isInside1 = isPointInRect(demoRect, testPoint1.x, testPoint1.y);
- var isInside2 = isPointInRect(demoRect, testPoint2.x, testPoint2.y);
- printl(" ©À©¤ ²âÊÔµã 1 (ÖÐÐĵã): (" + testPoint1.x.toFixed(4) + ", " + testPoint1.y.toFixed(4) + ")");
- printl(" ©¦ ©¸©¤ ¼ì²â½á¹û£º" + (isInside1 ? "✓ ÔÚ¾ØÐÎÄÚ" : "✗ ²»ÔÚ¾ØÐÎÄÚ"));
- printl(" ©À©¤ ²âÊÔµã 2 (Íⲿµã): (" + testPoint2.x.toFixed(4) + ", " + testPoint2.y.toFixed(4) + ")");
- printl(" ©¦ ©¸©¤ ¼ì²â½á¹û£º" + (isInside2 ? "✓ ÔÚ¾ØÐÎÄÚ" : "✗ ²»ÔÚ¾ØÐÎÄÚ"));
- // Èç¹ûϵͳ֧³Ö inRect ·½·¨£¬Ò²¿ÉÒÔʹÓ㨳¢ÊÔµ÷Óã©
- try {
- if (typeof demoRect.inRect === 'function') {
- var nativeResult = demoRect.inRect(centerX, centerY);
- printl(" ✓ ϵͳÔÉú inRect ·½·¨¿ÉÓ㬽á¹û£º" + nativeResult);
- } else {
- printl(" ⚠️ ϵͳÔÉú inRect ·½·¨²»¿ÉÓã¬ÇëʹÓÃÉÏÃæµÄ¼æÈÝ·½°¸");
- }
- } catch (e) {
- printl(" ⚠️ µ÷Óà inRect ·½·¨Ê§°Ü£º" + e.message);
- }
- // 📌 ·½·¨ 10: set() - ÉèÖþØÐα߽ç
- printl("\n¡¾·½·¨ 10¡¿set(left, top, right, bottom) - ÉèÖþØÐα߽ç");
- printl(" ©À©¤ ²ÎÊýÀàÐÍ£ºSingle left, Single top, Single right, Single bottom");
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºVoid£¨ÎÞ·µ»ØÖµ£©");
- printl(" ©¸©¤ ¹¦ÄÜ˵Ã÷£ºÖØÐ¶¨Ò徨ÐεÄËĸö±ß½çÖµ");
- printl(" ⚠️ ×¢Ò⣺´Ë·½·¨ÐèÒª¿É±à¼µÄ Rect ¶ÔÏó£¬OCR »ñÈ¡µÄ Rect ͨ³£ÎªÖ»¶Á");
- // ============================================
- // 🔄 µÚÁù²¿·Ö£º×ø±êϵͳת»»£¨°Ù·Ö±È↔ÕæÊµ×ø±ê£©
- // ============================================
- printl("\n🔄 µÚÁù²¿·Ö£º°Ù·Ö±ÈÓëÕæÊµ×ø±êת»»");
- sleep.millisecond(800);
- // 📌 ·½·¨ 14: percentToReal() - °Ù·Ö±È×ªÕæÊµ×ø±ê
- printl("\n¡¾·½·¨ 14¡¿percentToReal() - °Ù·Ö±ÈÇøÓòת»»ÎªÕæÊµÆÁÄ»×ø±ê");
- sleep.millisecond(500);
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºRectClass");
- printl(" ©À©¤ Ó¦Óó¡¾°£º½« 0-1 ·¶Î§µÄ°Ù·Ö±È×ø±êת»»ÎªÊµ¼ÊÏñËØ×ø±ê");
- printl(" ©¸©¤ ʾÀý£º");
- // ˵Ã÷£ºpercentToReal ͨ³£ÐèÒªÔÚÌØ¶¨ÉÏÏÂÎÄÖÐʹÓÃ
- printl(" 💡 ʹÓ󡾰˵Ã÷:");
- printl(" µ±Äúͨ¹ý OCR »ñÈ¡µ½°Ù·Ö±È×ø±êµÄ Rect ºó,");
- printl(" ¿ÉÒÔµ÷Óà rect.percentToReal() ת»»ÎªÕæÊµÏñËØ×ø±ê");
- printl(" ÀýÈ磺detect.getRect().percentToReal()");
- try {
- if (hasDemoRect && typeof demoRect.percentToReal === 'function') {
- var realRect = demoRect.percentToReal();
- printl(" ✓ µ±Ç° Rect ת»»½á¹û£º" + realRect.toString());
- } else {
- printl(" ⚠️ µ±Ç°»·¾³Ôݲ»ÑÝʾ´Ë·½·¨");
- }
- } catch (e) {
- printl(" ⚠️ ת»»Ê§°Ü£º" + e.message);
- }
- // 📌 ·½·¨ 15: toPercent() - ÕæÊµ×ø±êת°Ù·Ö±È
- printl("\n¡¾·½·¨ 15¡¿toPercent() - ÕæÊµÆÁÄ»×ø±êת»»Îª°Ù·Ö±È");
- sleep.millisecond(500);
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºRectClass");
- printl(" ©À©¤ Ó¦Óó¡¾°£º½«Êµ¼ÊÏñËØ×ø±êת»»Îª 0-1 ·¶Î§µÄ°Ù·Ö±È×ø±ê");
- printl(" ©¸©¤ ʾÀý£º");
- if (hasDemoRect) {
- try {
- if (typeof demoRect.toPercent === 'function') {
- var backToPercent = demoRect.toPercent();
- printl(" Ôʼ¾ØÐΣº" + demoRect.toString());
- printl(" ת»»ºó°Ù·Ö±È¾ØÐΣº" + backToPercent.toString());
- printl(" ✓ ת»»³É¹¦");
- } else {
- printl(" ⚠️ µ±Ç° Rect ¶ÔÏó²»Ö§³Ö toPercent ·½·¨");
- }
- } catch (e) {
- printl(" ⚠️ ת»»Ê§°Ü£º" + e.message);
- }
- } else {
- printl(" ⚠️ ÎÞ¿ÉÓÃµÄ Rect ¶ÔÏó½øÐÐÑÝʾ");
- }
- // ============================================
- // 🎨 µÚÆß²¿·Ö£º×Ö·û´®±íʾÓëµ÷ÊÔ
- // ============================================
- printl("\n🎨 µÚÆß²¿·Ö£º¾ØÐÎ×Ö·û´®±íʾÓëµ÷ÊÔÊä³ö");
- sleep.millisecond(800);
- // 📌 ·½·¨ 11: toString() - »ñÈ¡¾ØÐÎ×Ö·û´®±íʾ
- printl("\n¡¾·½·¨ 11¡¿toString() - ·µ»Ø¾ØÐεÄ×Ö·û´®ÃèÊö");
- sleep.millisecond(500);
- var rectString = demoRect.toString();
- printl(" ©À©¤ ·µ»ØÖµÀàÐÍ£ºString");
- printl(" ©À©¤ ¸ñʽ˵Ã÷£ºÍ¨³£¸ñʽΪ 'Rect(left, top, right, bottom)'");
- printl(" ©¸©¤ ʾÀý½á¹û£º" + rectString);
- // 💡 µ÷ÊÔ¼¼ÇÉ£º¿ìËÙ´òÓ¡¾ØÐÎÐÅÏ¢
- printl("\n💡 µ÷ÊÔ¼¼ÇÉ£ºÊ¹Óà printl ¿ìËÙÊä³ö¾ØÐÎÐÅÏ¢");
- sleep.millisecond(500);
- printl(" printl('µ±Ç°¾ØÐΣº' + rect.toString());");
- printl(" Êä³ö£º" + demoRect.toString());
- // ============================================
- // 🎬 µÚ°Ë²¿·Ö£º×ÛºÏʵս°¸Àý
- // ============================================
- printl("\n🎬 µÚ°Ë²¿·Ö£º×ÛºÏʵս°¸Àý");
- sleep.millisecond(800);
- // °¸Àý 1: UI °´Å¥ÇøÓò¼ì²âÓëµã»÷
- printl("\n¡¾°¸Àý 1¡¿UI °´Å¥ÇøÓò¼ì²âÓëÖÇÄܵã»÷");
- sleep.millisecond(500);
- printl(" ³¡¾°£º¼ì²âÆÁÄ»ÉϵÄ'Ìá½»'°´Å¥²¢µã»÷");
- printl(" ²½Ö裺");
- printl(" 1. OCR ʶ±ðÆÁÄ»Îı¾");
- printl(" 2. ²éÕÒ°üº¬'Ìá½»'µÄ Detect ¶ÔÏó");
- printl(" 3. »ñÈ¡°´Å¥µÄ Rect ÇøÓò");
- printl(" 4. ÔÚ°´Å¥ÇøÓòÄÚËæ»úµã»÷£¨Ä£ÄâÕæÊµÓû§£©");
- printl(" ´úÂë¿ò¼Ü£º");
- printl(" var ocrResult = screen.ocr(0, 0, 1, 1);");
- printl(" var detects = ocrResult.getAllDetect();");
- printl(" for (var i = 0; i < detects.length; i++) {");
- printl(" if (detects[i].text.contains('Ìá½»')) {");
- printl(" var btnRect = detects[i].getRect();");
- printl(" var clickX = btnRect.getRandX();");
- printl(" var clickY = btnRect.getRandY();");
- printl(" // click.click(clickX, clickY);");
- printl(" printl('µã»÷Ìá½»°´Å¥£º' + clickX + ', ' + clickY);");
- printl(" break;");
- printl(" }");
- printl(" }");
- // °¸Àý 2: »¬¶¯²Ù×÷ÇøÓò¹æ»®
- printl("\n¡¾°¸Àý 2¡¿»¬¶¯²Ù×÷ÇøÓò¹æ»®");
- sleep.millisecond(500);
- printl(" ³¡¾°£ºÔÚÖ¸¶¨¾ØÐÎÇøÓòÄÚÖ´Ð묶¯ÊÖÊÆ");
- printl(" ²½Ö裺");
- printl(" 1. ͨ¹ý OCR »ñÈ¡ÆðÊ¼ÇøÓòºÍ½áÊøÇøÓòµÄ Rect");
- printl(" 2. »òÕßʹÓðٷֱÈ×ø±ê¶¨ÒåÇøÓò");
- printl(" 3. ÔÚÆðÊ¼ÇøÓòÄÚÈ¡Ëæ»úµã×÷ΪÆðµã");
- printl(" 4. ÔÚ½áÊøÇøÓòÄÚÈ¡Ëæ»úµã×÷ΪÖÕµã");
- printl(" 5. Ö´Ð묶¯²Ù×÷");
- printl(" ´úÂë¿ò¼Ü£¨Ê¹ÓðٷֱÈ×ø±êת»»£©£º");
- printl(" // ·½·¨ 1: ͨ¹ý OCR »ñÈ¡ÇøÓò");
- printl(" var ocrResult = screen.ocr(0.2, 0.4, 0.8, 0.5);");
- printl(" var detects = ocrResult.getAllDetect();");
- printl(" if (detects.length > 0) {");
- printl(" var startArea = detects[0].getRect();");
- printl(" var startX = startArea.getRandX();");
- printl(" var startY = startArea.getRandY();");
- printl(" }");
- printl(" ");
- printl(" // ·½·¨ 2: ÊÖ¶¯¶¨Òå°Ù·Ö±ÈÇøÓò²¢×ª»»");
- printl(" // ×¢Ò⣺ÐèҪϵͳ֧³Ö Rect ´´½¨»òת»»");
- printl(" printl('ʵ¼ÊʹÓÃʱ½¨Òéͨ¹ý OCR »ñÈ¡¾ßÌåÇøÓò');");
- // °¸Àý 3: ÆÁÄ»·ÖÇø¹ÜÀí
- printl("\n¡¾°¸Àý 3¡¿ÆÁÄ»·ÖÇø¹ÜÀí");
- sleep.millisecond(500);
- printl(" ³¡¾°£º½«ÆÁÄ»»®·ÖΪ¶à¸ö¹¦ÄÜÇøÓò·Ö±ð´¦Àí");
- printl(" ˵Ã÷£ºÓÉÓÚµ±Ç°»·¾³²»Ö§³Ö new RectClass(),½¨ÒéʹÓÃÒÔÏ·½°¸:");
- printl(" ");
- printl(" ·½°¸ 1: ʹÓðٷֱÈ×ø±êÖ±½Ó¶¨ÒåÇøÓò");
- printl(" var topArea = {left: 0, top: 0, right: 1, bottom: 0.33};");
- printl(" var middleArea = {left: 0, top: 0.33, right: 1, bottom: 0.67};");
- printl(" var bottomArea = {left: 0, top: 0.67, right: 1, bottom: 1};");
- printl(" ");
- printl(" ·½°¸ 2: ͨ¹ý OCR ·ÖÇøÓòʶ±ð»ñÈ¡ Rect");
- printl(" var topOCR = screen.ocr(0, 0, 1, 0.33);");
- printl(" var topDetects = topOCR.getAllDetect();");
- printl(" if (topDetects.length > 0) {");
- printl(" var topRect = topDetects[0].getRect();");
- printl(" // ʹÓà topRect ½øÐвÙ×÷");
- printl(" }");
- printl(" ");
- printl(" 💡 Ìáʾ£ºÔÚʵ¼ÊÏîÄ¿ÖУ¬ÍƼöʹÓðٷֱÈ×ø±ê½øÐÐÇøÓò»®·Ö,");
- printl(" È»ºóÔÚÿ¸öÇøÓòÄÚ½øÐÐ OCR ʶ±ð»ñÈ¡¾ßÌåµÄ Rect ¶ÔÏó¡£");
- // ============================================
- // ⚠️ µÚ¾Å²¿·Ö£º×¢ÒâÊÂÏîÓë×î¼Ñʵ¼ù
- // ============================================
- printl("\n⚠️ µÚ¾Å²¿·Ö£º×¢ÒâÊÂÏîÓë×î¼Ñʵ¼ù");
- sleep.millisecond(800);
- printl("\n¡¾×¢ÒâÊÂÏî¡¿");
- sleep.millisecond(500);
- printl(" 1. ×ø±êϵͳ£º");
- printl(" • °Ù·Ö±È×ø±ê£º0-1 ·¶Î§£¬¿çÉ豸¼æÈÝÐÔºÃ");
- printl(" • ÕæÊµ×ø±ê£ºÏñËØÖµ£¬¾«È·¿ØÖÆ");
- printl(" • ʹÓà percentToReal() ºÍ toPercent() Áé»îת»»");
- printl(" ");
- printl(" 2. Rect ¶ÔÏóÀ´Ô´£º");
- printl(" • Ö÷Ҫͨ¹ý Detect.getRect() »ñÈ¡£¨OCR ʶ±ð½á¹û£©");
- printl(" • Ò²¿ÉÊÖ¶¯ new RectClass() ´´½¨");
- printl(" • »¹¿Éͨ¹ý set() ·½·¨ÐÞ¸ÄÏÖÓÐ Rect");
- printl(" ");
- printl(" 3. Ëæ»úµãʹÓãº");
- printl(" • getRandX() ºÍ getRandY() Éú³ÉµÄµãÔÚ [left, right] ºÍ [top, bottom] ·¶Î§ÄÚ");
- printl(" • ¶à´Îµ÷ÓûáµÃµ½²»Í¬µÄËæ»úÖµ");
- printl(" • ÊʺÏÄ£ÄâÕæÊµÓû§ÐÐΪ£¬±ÜÃâ±»¼ì²â");
- printl(" ");
- printl(" 4. ±ß½ç¼ì²â£º");
- printl(" • inRect() ·½·¨ÔÚijЩ°æ±¾ÖпÉÄܲ»¿ÉÓÃ");
- printl(" • ÍÆ¼öʹÓÃÊÖ¶¯ÊµÏÖ·½°¸£¨ÈçʾÀýËùʾ£©");
- printl(" • ÅжÏÂß¼£ºx >= left && x <= right && y >= top && y <= bottom");
- printl("\n¡¾×î¼Ñʵ¼ù¡¿");
- sleep.millisecond(500);
- printl(" 1. ÓÅÏÈʹÓðٷֱÈ×ø±ê£¬Ìá¸ß½Å±¾¼æÈÝÐÔ");
- printl(" 2. µã»÷²Ù×÷ʹÓÃËæ»úµã£¬Ôö¼ÓÕæÊµÐÔ");
- printl(" 3. ¼°Ê±ÊͷŲ»ÓÃµÄ Rect ¶ÔÏó£¨Èç¹ûÖ§³Ö dispose£©");
- printl(" 4. ¸´ÔÓ²Ù×÷ǰÏÈ toString() Êä³öµ÷ÊÔ");
- printl(" 5. ×éºÏʹÓöà¸ö·½·¨£¬ÊµÏÖÖÇÄÜ»¯²Ù×÷");
- // ============================================
- // 🏁 ʾÀýÖ´ÐÐÍê±Ï
- // ============================================
- printl("\n=== 🍎 RectClass¾ØÐÎÀàϵͳ»¯Ê¾ÀýÖ´ÐÐÍê±Ï ===");
- sleep.millisecond(500);
- printl("✓ ÒÑÑÝʾ 15 ¸öºËÐÄ·½·¨");
- sleep.millisecond(300);
- printl("✓ ÒÑչʾ 3 ¸öʵս°¸Àý");
- sleep.millisecond(300);
- printl("✓ ÒÑ˵Ã÷×¢ÒâÊÂÏîÓë×î¼Ñʵ¼ù");
- sleep.millisecond(500);
- printl("\n💡 Ìáʾ£ºÔÚʵ¼Ê½Å±¾ÖÐʹÓÃʱ£¬Çë¸ù¾Ý¾ßÌ峡¾°Ñ¡ÔñºÏÊʵķ½·¨×éºÏ£¡");
- } // end of else block for demoRect check
¸´ÖÆ´úÂë
|
|