Обход равномерных сеток: панели кнопок, инвентарь, игровые поля
Щёлкать или наводить курсор на все ячейки равномерной сетки одной-единственной нотой — и позволить приложению измерить сетку вместо угадывания строк и столбцов.
Многое на экране расположено через равные промежутки: панель способностей в игре, ячейки инвентаря, игровое поле, строки списка. Для этого не нужны двадцать нот «Щелчок» — нота Обход области справляется одна.
Что делает нота
Она накладывает на прямоугольник сетку из горизонтальных рядов и/или вертикальных столбцов и проходит её линии мышью. В поле Действие вы выбираете, что при этом происходит:
| Действие | Для чего |
|---|---|
| переместить | просто навести — раскрыть подсказки, развернуть меню, подсветить предметы |
| перетащить | с зажатой кнопкой — рамки выделения, инструменты рисования и пометки |
| щёлкнуть | щелчок в каждой точке сетки — панели кнопок, инвентарь, игровые поля |
К этому добавляются начальный угол, узор (змейкой или всегда в одну сторону), порядок и стиль движения, знакомый вам по ноте Переместить мышь.
Главное: линии лежат на краях
Именно на этом почти все спотыкаются в первый раз. Если задать 6 столбцов, первая вертикальная линия окажется ровно на левом краю прямоугольника, последняя — ровно на правом, а остальные четыре равномерно распределятся между ними.
Отсюда следует: прямоугольник растягивают от центра первой ячейки до центра последней — а не вокруг ячеек. Эта разница решает, попадёт ли бот хоть куда-нибудь:

Задано шесть столбцов, путь распределён ровно — и всё же не попадает ни по одной кнопке. Если растянуть правильно, получается так:

Та же сетка, те же шесть столбцов — просто теперь прямоугольник начинается и заканчивается на центре ячейки.
Если обойти нужно всего один ряд (горизонтальную панель кнопок), прямоугольник может быть высотой в один пиксель. Высота не играет роли, пока Ряды выключены.
Пусть приложение измерит сетку
Шесть кнопок можно сосчитать. С инвентарём 9 × 12 это уже утомительно — и число должно быть точным, иначе путь постепенно уйдёт из ячеек. Поэтому приложение измеряет сетку за вас:
- У поля Область X нажмите значок 〰 Обход…. Конструктор покажет свежее изображение — если у вашего сценария задано целевое окно, вы увидите только это окно, а не весь монитор.
- Колесом мыши приблизьтесь настолько, чтобы уверенно попадать по отдельным ячейкам. Средняя кнопка перемещает изображение, 🔍 Масштаб 100 % снова показывает всё целиком.
- Растяните прямоугольник: от центра первой ячейки до центра последней (см. выше).
- Нажмите 📐 Измерить сетку.
- Щёлкните центр первой ячейки, затем соседнюю ячейку — рядом, снизу или по диагонали. По диагонали ряды и столбцы измеряются сразу.
- Готово: флажки «Ряды»/«Столбцы» и количества выставляются сами. Внизу написано, что измерено, например «Измерено: столбцов 6 × строк — (шаг 110/0 px)».
- Проверьте оранжевый путь — он должен проходить через все центры ячеек. Только после этого нажимайте Применить.
Расчёт таков: расстояние между вашими щелчками — это расстояние между двумя линиями сетки; сколько таких промежутков помещается в прямоугольник, столько и линий.
Если не сходится
«Нажатая ячейка не лежит на краю прямоугольника» — приложение показывает это, когда количество верное, но сетка смещена на половину ячейки. Ровно случай с первой картинки: прямоугольник растянули вокруг ячеек. Растяните его от центра к центру и измерьте ещё раз.
Количество вдвое меньше ожидаемого — значит, выбранные ячейки были не соседними, а через одну. Берите именно соседнюю ячейку.
«Точки слишком близко» — оба щелчка попали почти в одно место. Без масштабирования это происходит легко: сначала приблизьтесь, потом измеряйте.
В конструкторе путь верный, а при запуске бот промахивается — значит, окно смещается между настройкой и запуском. Включите относительно якоря и поставьте якорь на безошибочно узнаваемую деталь; подробнее в разделе Якоря.
Пример: панель способностей в Clicker Heroes
Десять кнопок способностей в ряд, все нужно нажать по очереди:
- Добавьте Обход области, значок 〰 Обход….
- Приблизьтесь, растяните прямоугольник от центра первой кнопки до центра десятой — плоско, высота не важна.
- 📐 Измерить сетку, центр кнопки 1, затем центр кнопки 2. Результат: столбцов 10, ряды выключены.
- Поставьте Действие на щёлкнуть, а интервал — примерно на
120 ms, чтобы игра успевала. - Применить — готово. Одна нота вместо десяти.