Findoffsetx

Материал из UoPilot
Перейти к навигации Перейти к поиску

Описание

Findoffsetx - смещение возвращаемых координат команд 'findimage' и 'findcolor' по оси 'X'.
Findoffsety - смещение возвращаемых координат команд 'findimage' и 'findcolor' по оси 'Y'.

Синтаксис

Привязка к окну: Опционально.
Работа со свернутым окном: Нет.

set findoffsetx 50    //смещение вправо на 50 пикселей
set findoffsety 30    //смещение вниз на 30 пикселей

set findoffsetx -40   //смещение вверх на 40 пикселей
set findoffsety -60   //смещение влево на 60 пикселей

Примеры

// Пример 1
set Findoffsetx 20                               //смещение вправо на 20 пикселей    
set Findoffsety 30                               //смещение вниз на 30 пикселей
set #a findcolor(0 0 1920 1080 1 1 (255) %arr)   // поиск цвета
if #a > 0                                        // если цвет найден
    kleft %arr [1 1] %arr [1 2]                  // клик со смещением от найденного цвета, +20 по 'X' и +30 по 'Y'.
end_if
End_script
// Пример 2
// Отличие Findoffsetx и Findoffsety
// от Clickoffsetx и Clickoffsety
// Ищем цвет с помощью Findcolor. Допустим, что он находится в координатах 200 400

// Скрипт 1
set Clickoffsetx 20                              //смещение вправо на 20 пикселей
set Clickoffsety 30                              //смещение вниз на 30 пикселей
set #a findcolor(0 0 1920 1080 1 1 (255) %arr)   // поиск цвета
if #a > 0                                        // если цвет найден
    log   %arr [1 1] %arr [1 2]                  // показать в логе найденные координаты, покажет 200 400 (действительные координаты)                                                 
    kleft %arr [1 1] %arr [1 2]                  // клик будет по координатам 220 430 (с учётом смещения)
    wait 1000                                    // ждать 1 секунду
    kleft 500 500                                // клик в координаты 520 530 (с учётом смещения)
end_if
End_script

// Скрипт 2
// Тот же скрипт 1, но используем Findoffsetx и Findoffsety
set Findoffsetx 20                               //смещение вправо на 20 пикселей
set Findoffsety 30                               //смещение вниз на 30 пикселей
set #a findcolor(0 0 1920 1080 1 1 (255) %arr)   // поиск цвета
if #a > 0                                        // если цвет найден
    log   %arr [1 1] %arr [1 2]                  // показать в логе найденные координаты, покажет 220 430 (координаты, с учётом смещения)                                                  
    kleft %arr [1 1] %arr [1 2]                  // клик будет по координатам 220 430 (с учётом смещения)
    wait 1000                                    // ждать 1 секунду
    kleft 500 500                                // клик в координаты 500 500 (без смещения!!!)
end_if
End_script

В примере 2, в скриптах 1 и 2 клик по найденному цвету будет в одинаковые координаты, а в указанные координаты в разные. Нужно учитывать:
Clickoffsetx и Clickoffsety изменят координаты именно при клике. Не важно откуда получены координаты, при поиске цвета/картинки или просто указаны. Зато в массиве при поиске Findcolor/Findimage будут действительные координаты найденного цвета/картинки. Если они потребуются где-то ещё в скрипте, то можно их использовать.
Findoffsetx и Findoffsety изменят координаты именно в массиве. Клик по найденному цвету/картинке будет со смещением, на клик, где координаты просто указаны они не повлияют. В массиве же будут содержаться координаты с учётом смещения.

Смотрите также

Clickoffsetx
Findcolor
Findimage

История развития

2.36
Добавил переменные смещения кликов мышью и команды 'move', и переменные смещения возвращаемых координат команд 'findimage' и 'findcolor':

   'clickoffsetx', 'clickoffsety', 'findoffsetx',  'findoffsety'. 
   //размер картинки 9х9
   set findoffsetx 5 
   set findoffsety 5
   set ... findimage
   //вернет координаты не левого верхнего угла а центра картинки
   set clickoffsetx 5
   set clickoffsety 5
   left 0 0
   //кликнет в координаты 5, 5