Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2015, 20:50   #1
Maximum_001
 
Регистрация: 22.07.2015
Сообщений: 7
По умолчанию Создание кликера на java.

Я уже задавал вопрос как создать кликера в соотвествии с определенной логикой на java. Мне посоветовали юзать java.awt.robot. Я поюзал с помощью этой библиотеки можно многое. Но самое главное я так и не понял принципа, как оценить то, что изображено на экране как определить куда нажать, если открыто много окон. Допустим сделав скрин экрана, проанализировав изображение по пиксельно, можно определить в какую часть экрана кликнуть, но если в этот момент экран изменился? Как с помощью скрина, например, можно определить что написано в заголовке окна, или на кнопке.
Может быть я загоняюсь, но мне хочется понять общие принципы создания таких программ.
Если кто-то писал такие программы, подскажите алгоритм(структуру, архитектуру) такой программы в общих чертах, если можно то пошагово, что и в каком порядке выполнять.

Последний раз редактировалось Maximum_001; 09.08.2015 в 21:09.
Maximum_001 вне форума Ответить с цитированием
Старый 09.08.2015, 21:11   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что написано в заголовке определяется с помощью функций WinApi (SendMessage WM_GETTEXT, например), координаты тоже. Ну если речь о Windows и обычном оконном приложении, а не DirectX и т.п.
Не знаю насчет существования Java оберток, вроде JNA обычно используют для работы с нативными функциями
https://github.com/twall/jna
http://www.javaworld.com/article/207...ve-access.html

По скриншоту разве что распознавать с помощью какой-нибудь OCR библиотеки, но это сложнее.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 09.08.2015 в 21:17.
Alex11223 вне форума Ответить с цитированием
Старый 09.08.2015, 21:35   #3
Maximum_001
 
Регистрация: 22.07.2015
Сообщений: 7
По умолчанию

спасибо, а про архитектуру ничего не подскажете?
Maximum_001 вне форума Ответить с цитированием
Старый 14.08.2015, 12:30   #4
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

Самый простой вариант - взять AutoHotKey :-) но если реально нужна Ява, то тут без вариантов)) не просто "я знаю лишь Яву", а "мне препод/начальник обещал снести бошку, если это будет не Ява" или же "у меня всё на Яве и я хочу автоматизировать тестирование gui"

Архитектура: делаем поток/таймер, который раз в Х мс клацает окна и раз в У мс заново анализирует экран
Таким макаром уже было написано куча ботов для линяги, РОЕ и др. игрушек.... если вы имеете дело не с игрой, то всё намного проще и можно смело скрины анализировать раз в 1 сек, иначе 250-500мс оптимально для динамичных игр (если постоянно проводить анализ, то точность не особо повысится, а комп будет зря нагружаться)
Ну и, конечно же, дробим все действия на более простые и общие т. к. в десятках задач встретится что-то типа "нажать туда-то и подождать появления изображения А" и их лучше сразу вынести в отдельную функцию
это общие идеи, но многое зависит от конкретных задач.... бывает хватает таймера и простейшего кода, который работает <50мс, а бывает нужно строить полноценный конечный автомат с кучей нюансов, с таймаутами на некие события (нажали кнопку, но не появилось нужное окно в течение 5 сек т. к. мы зависли) и "асинхронностью"

Последний раз редактировалось GreenWizard; 14.08.2015 в 12:32.
GreenWizard вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
браузерка. Подсказать с алгоритмом пикча-кликера. Smogg Помощь студентам 4 22.08.2014 23:11
Функции и методы, для создания кликера нп Delphi chanmagomed Общие вопросы Delphi 9 25.03.2012 10:45
Нужен програмный код кликера!!! S-K-A-Y-T Софт 2 10.11.2010 17:08
Вопрос по поводу входящих/исходящих пакетов при юзаньи кликера Androgin Помощь студентам 6 26.09.2010 21:05
Создание игр на JAVA zagibok Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 11.05.2010 19:07