Для того чтобы “визуально” работать с экраном Clickermann-у, как и большинству других аналогичных программ, нужно сделать снимок экрана и поместить его в свой графический буфер. Снимок делается с помощью команды GETSCREEN. Если эта команда не содержит в параметрах координат, то Clickermann помещает в буфер скриншот всего экрана. Если же указаны координаты, так – GETSCREEN (x1, y1, x2, y2 ), то кликер поместит в графический буфер скриншот, сделанный в рамках указанных координат.
Когда после GETSCREEN (например, в следующей строке) вы используете команду COLORMODE и указываете режим COLORMODE(5), то в буфер Clickermann поступает не та картинка, что в данный момент находится на вашем экране, а измененная, в зависимости от режима в команде COLORMODE. Понять можно, поэкспериментировав со следующим кодом. Только предварительно сохраните его в какой-нибудь папке.
GETSCREEN // помещаем в свой графический буфер скриншот экрана COLORMODE(3) // применяем к этому скриншоту режим COLORMODE SCREENSHOTFIX(0,0, $_xmax,$_ymax, "file.bmp") // сохраняем скриншот из буфера, в папку, в которой сохранен этот скрипт HALT // останавливаем скрипт
Когда скрипт отработает, в папке, где он сохранен, появится скриншот экрана. Посмотрите этот скриншот. Потом установите в скрипте другой режим, например, COLORMODE(6), снова запустите и посмотрите скрин. Оцените разницу между первым скрином и вторым. Увидев разницу, вы поймете, как работает COLORMODE.
Поиск по изображению
После получения скрина экран и помещения его в графический буфер кликер готов приступить к анализу скриншота. В нашем случае будем искать приготовленную картинку на скриншоте, который находится в буфере Clickermann-а. Важно знать, что заготовка картинки, которую будете искать, должна быть сделана в том же режиме COLORMODE, который кликер применял к скриншоту экрана, при помещении его в буфер.
Поиск изображения выполняет оператор IF_PICTURE_IN. В переводе с английского это выглядит примерно так – ЕСЛИ_КАРТИНКА_В.
IF_PICTURE_IN(0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // IF_PICTURE_IN - оператор поиска изображений // 0,0, $_xmax,$_ymax - координаты, в которых кликер будет искать картинку // file.bmp - изображение, которое мы будем искать
Еще один оператор, который можно использовать, это ELSE. С английского языка его можно перевести как ИНАЧЕ. Блок после этого оператора выполнятся, когда не выполнено основное условие.
GETSCREEN // получаем скриншот экрана COLORMODE(3) // применяем к нему COLORMODE IF_PICTURE_IN(0,0, $_xmax,$_ymax, "file.bmp", -1, 100) // поиск изображения // здесь прописываем команды на случай, если картинка найдена ELSE // условия для "иначе" // Тут прописываем действия, если картинка не найдена END_IF // конец условия
Далее вы можете вырезать из общего скриншота экрана фрагмент, который в будущем нужно искать и задать этот фрагмент для поиска в команде поиска IF_PICTURE_IN.
Комментарии: