|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.08.2015, 20:50 | #1 |
Регистрация: 22.07.2015
Сообщений: 7
|
Создание кликера на java.
Я уже задавал вопрос как создать кликера в соотвествии с определенной логикой на java. Мне посоветовали юзать java.awt.robot. Я поюзал с помощью этой библиотеки можно многое. Но самое главное я так и не понял принципа, как оценить то, что изображено на экране как определить куда нажать, если открыто много окон. Допустим сделав скрин экрана, проанализировав изображение по пиксельно, можно определить в какую часть экрана кликнуть, но если в этот момент экран изменился? Как с помощью скрина, например, можно определить что написано в заголовке окна, или на кнопке.
Может быть я загоняюсь, но мне хочется понять общие принципы создания таких программ. Если кто-то писал такие программы, подскажите алгоритм(структуру, архитектуру) такой программы в общих чертах, если можно то пошагово, что и в каком порядке выполнять. Последний раз редактировалось Maximum_001; 09.08.2015 в 21:09. |
09.08.2015, 21:11 | #2 |
Старожил
Регистрация: 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. |
09.08.2015, 21:35 | #3 |
Регистрация: 22.07.2015
Сообщений: 7
|
спасибо, а про архитектуру ничего не подскажете?
|
14.08.2015, 12:30 | #4 |
мальчик-помогай =)
Форумчанин
Регистрация: 16.09.2010
Сообщений: 522
|
Самый простой вариант - взять AutoHotKey :-) но если реально нужна Ява, то тут без вариантов)) не просто "я знаю лишь Яву", а "мне препод/начальник обещал снести бошку, если это будет не Ява" или же "у меня всё на Яве и я хочу автоматизировать тестирование gui"
Архитектура: делаем поток/таймер, который раз в Х мс клацает окна и раз в У мс заново анализирует экран Таким макаром уже было написано куча ботов для линяги, РОЕ и др. игрушек.... если вы имеете дело не с игрой, то всё намного проще и можно смело скрины анализировать раз в 1 сек, иначе 250-500мс оптимально для динамичных игр (если постоянно проводить анализ, то точность не особо повысится, а комп будет зря нагружаться) Ну и, конечно же, дробим все действия на более простые и общие т. к. в десятках задач встретится что-то типа "нажать туда-то и подождать появления изображения А" и их лучше сразу вынести в отдельную функцию это общие идеи, но многое зависит от конкретных задач.... бывает хватает таймера и простейшего кода, который работает <50мс, а бывает нужно строить полноценный конечный автомат с кучей нюансов, с таймаутами на некие события (нажали кнопку, но не появилось нужное окно в течение 5 сек т. к. мы зависли) и "асинхронностью" Последний раз редактировалось GreenWizard; 14.08.2015 в 12:32. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
браузерка. Подсказать с алгоритмом пикча-кликера. | 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 |