|
12 / 1 / 3
Регистрация: 26.06.2016
Сообщений: 87
|
|
Найти в указанном регионе экрана пиксель нужного цвета11.05.2017, 22:01. Показов 3061. Ответов 7
Метки нет (Все метки)
Судя по названию темы задача думаю понятна. Я попробовал реализовать решение, используя библиотеку autoit, а именно через pixelsearch. Но столкнулся с проблемой... Дело в том, что данным способом не получается работать с областью экрана где применяется флеш или анимация. Попробовал выполнить эту задачу с помощью автокликер Кликерманн и он успешно с ней справился
Добавлено через 23 минуты Пожалуй начну с начала. Я решил попробовать написать бот для браузерной онлайн игры, где во многих местах используется флеш. Тыкать по неподвижным объектам труда не составило, а вот чтобы кликнуть по движущемуся животному решил по аналогии с Кликерманном искать пиксель с редко встречающимся цветом, который имеется у нужного мне моба, в заданном регионе экрана. Бродил по сети и наткнулся на библиотеку аутоит. Но к моему великому сожалению с поиском пикселя нужного цвета в указанном регионе она не справляется (( Добавлено через 5 минут Подскажите пожалуйста как мне решить эту проблему? Может нужно смотреть в другую сторону? Может есть какой-то способ выкрвырять данные о местоположении нужного животного из флеша? И может как-то можно узнавать текущее количество жизней у моба после того как персонаж ударит его? Добавлено через 26 минут А может можно сделать скриншот экрана, затем поместить его в битмап, указав границы региона, где нужно искать пиксель указанного цвета и потом через 2 цикла попиксельно проверять цвет каждого пикселя и сравнивать и с искомым? Только вот возник вопрос, когда сделается скриншот прежде чем поместить его в битмап, нужно ли его сохранять в промежуточный файл или его прямо из оперативной памяти можно в битмап загнать и дальше там с ним работать? Добавлено через 26 минут Все так сложно что никто не может помочь? ![]() Добавлено через 3 часа 30 минут Апп
0
|
|
| 11.05.2017, 22:01 | |
|
Ответы с готовыми решениями:
7
Заменить пиксель одного цвета другим цветом Если в определенной точке пиксель такого-то цвета то |
|
64 / 68 / 18
Регистрация: 21.10.2015
Сообщений: 228
|
|
| 12.05.2017, 00:47 | |
|
твоя затея - дрочить ногами.
1) делать скриншот всего экрана - нет необходимости, тебе нужно анализировать только окошко игры. • так идентифицируй его и у твоей программе придется обрабатывать ощутимо меньше данных. 2) не надо сравнивать 1 ПИКСЕЛЬ. никогда. серьезно, не делай так никогда.он может тупо совпадать неограниченное количество раз. • делаешь скрин на котором видно животное, выделяешь кусок скрина с набором пикселей, которые идентифицируют это и только это животное. • разбиваешь последующие снимки на куски такого же размера, перебираешь и сверяешь if(bitmapScreenGame[i] == bitmap_animal) так же, стоит понимать, что для быстрого времени выполнения, тебе придется работать в несколько потоков. чтобы многократно ускорить поиск. (поясняю, разбил изображение на моссив изображений кусками, передал разные куски в разные потоки и пусть сканирует себе, когда хоть 1 поток нашел результат ставить остальные в ожидание) 3) слать нажатия - только в конкретное окно. никаких mouse_event, keybd_event, если ты хочешь чтобы бот мог работать в автономном режиме (допустим если игра свернута) придется переходить на SendMessage.
0
|
|
|
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
|
|||
| 12.05.2017, 04:45 | |||
![]() Сложно, конечно, советовать не зная всех нюансов задачи... Но лично я бы начал с анализа трафика. Ведь животные (или кто там в этой игре присутствует) появляются не просто так, а, скорее всего, сервер указывает клиенту где кого расположить... Опять же, при клике на животном, клиент отправляет какие то данные на сервер, чтобы тот знал, что игрок кликнул куда надо. Вполне возможно, что положение моба вообще не имеет значения. Добавлено через 5 минут Т.е. я хочу сказать, что решать эту задачу следует совсем с другой стороны! И оперировать объектами в игре, а не пикселями на экране!
0
|
|||
|
64 / 68 / 18
Регистрация: 21.10.2015
Сообщений: 228
|
|||
| 12.05.2017, 11:28 | |||
|
Добавлено через 3 минуты
0
|
|||
|
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
|
||||
| 12.05.2017, 17:21 | ||||
|
0
|
||||
|
64 / 68 / 18
Регистрация: 21.10.2015
Сообщений: 228
|
||||
| 13.05.2017, 02:17 | ||||
|
0
|
||||
|
557 / 534 / 225
Регистрация: 02.11.2016
Сообщений: 1,538
|
|||
| 13.05.2017, 04:38 | |||
![]()
0
|
|||
|
64 / 68 / 18
Регистрация: 21.10.2015
Сообщений: 228
|
||
| 13.05.2017, 07:42 | ||
|
0
|
||
| 13.05.2017, 07:42 | |
|
Помогаю со студенческими работами здесь
8
Проверить, попал ли пиксель RGB-цвета в диапазон нужных цветов
Нарисовать с помощью отдельных точек синусоиду зеленого цвета в центре экрана на всю ширину экрана
Как сделать так, что-бы при вводе заглавной буквы цвета, изменялся определенный пиксель? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|