1 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 118
1

PostMessage - координаты объекта в игре

27.07.2010, 21:19. Показов 2471. Ответов 18
Метки нет (Все метки)

Идея такая. Как использовать postmessage знаю. Но вот используя spy++ он берет все окно 3d игры как за класс, т.е. отдельные компоненты не могу взять. Так вот как можно взять координаты кнопки в ИГРЕ и потом уже нажать на нее?
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.07.2010, 21:19
Ответы с готовыми решениями:

Перевести 3d координаты объекта в 2d координаты экрана на VB.vet
Подскажите пожалуйста может у кого есть код на vb.net, мне нужно перевести 3d координаты объекта в...

Передвижение объекта в игре
В моей игре объект(бот) передвигаеться с помощью таймера(pygame.time.set_timer()) каждые 10...

Алгоритм движения объекта в 2D игре
Здравствуйте! Захотелось написать какую то простенькую игру в 2D на C++, почитал статьи, научился...

Подёргивание объекта при перемещении в игре
Доброго времени суток, форумчане! При разработке игрушки столкнулся довольно неприятной...

18
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
28.07.2010, 12:35 2
Запомни(найди) текущие координаты объектов,а после когда что-то сместится,работай именно с тем чем нужно.
0
1 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 118
28.07.2010, 13:53  [ТС] 3
Цитата Сообщение от Oxotnuk Посмотреть сообщение
Запомни(найди) текущие координаты объектов,а после когда что-то сместится,работай именно с тем чем нужно.
можно пример пожалуйста?
0
78 / 78 / 6
Регистрация: 18.06.2009
Сообщений: 533
29.07.2010, 13:59 4
C++
1
2
3
4
5
6
int ColorSearch(TRect rec){
        for(int j=rec.top;j<rec.Bottom;j++)
                for(int i=rec.left;i<rec.right;i++)
                        if(Form1->Image1->Canvas->Pixels[i][j]==clBlue) return 1;
return -1;
}
Что то типа этого...
0
1 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 118
29.07.2010, 18:29  [ТС] 5
Цитата Сообщение от Oxotnuk Посмотреть сообщение
C++
1
2
3
4
5
6
int ColorSearch(TRect rec){
        for(int j=rec.top;j<rec.Bottom;j++)
                for(int i=rec.left;i<rec.right;i++)
                        if(Form1->Image1->Canvas->Pixels[i][j]==clBlue) return 1;
return -1;
}
Что то типа этого...
Ничего не понял =(((
0
Эксперт С++
2343 / 1716 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
29.07.2010, 19:31 6
Цитата Сообщение от Jinfaa Посмотреть сообщение
Так вот как можно взять координаты кнопки в ИГРЕ и потом уже нажать на нее?
Кнопок в понимании Windows там нет. Они просто рисуются. И далеко не факт, что для приема сообщения от мыши и клавиатуры не используется DirectInput.
0
1 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 118
29.07.2010, 19:32  [ТС] 7
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Кнопок в понимании Windows там нет. Они просто рисуются.
Так как поступить?
0
Эксперт С++
2343 / 1716 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
29.07.2010, 19:35 8
Цитата Сообщение от Jinfaa Посмотреть сообщение
Так как поступить?
Я предостерег вас о явных проблемах, а как их решать я не в курсе, ибо никогда подобным не занимался.
0
1336 / 987 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
30.07.2010, 11:43 9
Цитата Сообщение от Jinfaa Посмотреть сообщение
Ничего не понял =(((
Алгоритм проходит в первом цикле сверху донизу, во втором - слева направо, и если находит хоть одну синюю точку, выкидывает с единицей, иначе с -1. Так можно найти координату нужного цвета. Если в игре только одна желтая кнопка, найди её этим алгоритмом, получи координату, поставь туда мышку и сэмулируй клик.
1
1 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 118
30.07.2010, 11:45  [ТС] 10
Цитата Сообщение от iama Посмотреть сообщение
Алгоритм проходит в первом цикле сверху донизу, во втором - слева направо, и если находит хоть одну синюю точку, выкидывает с единицей, иначе с -1. Так можно найти координату нужного цвета. Если в игре только одна желтая кнопка, найди её этим алгоритмом, получи координату, поставь туда мышку и сэмулируй клик.
А можно по координатам. В игре в нужной точке ткнуть мышкой?
0
1336 / 987 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
30.07.2010, 11:46 11
Ну, смотря что в игре нужно делать. Тот пример показывает примерно, как можно найти нужный обьект в игре.
1
1 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 118
30.07.2010, 11:55  [ТС] 12
Цитата Сообщение от iama Посмотреть сообщение
Ну, смотря что в игре нужно делать. Тот пример показывает примерно, как можно найти нужный обьект в игре.
Дело в том что по цвету не пойдет. Цвета у кнопок разные и меняются постоянно но положение тоже
0
1336 / 987 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
30.07.2010, 13:12 13
Цитата Сообщение от Jinfaa Посмотреть сообщение
Дело в том что по цвету не пойдет. Цвета у кнопок разные и меняются постоянно но положение тоже
Это так кажется. В RGB системе ~16000000 цветов, найти один уникальный в процессе игры - не проблемма. Сделай пару десяткв скринов, проанализируй цвета объектов, найди нужный и парсь по нему картинку.
1
1 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 118
30.07.2010, 13:42  [ТС] 14
Цитата Сообщение от iama Посмотреть сообщение
Это так кажется. В RGB системе ~16000000 цветов, найти один уникальный в процессе игры - не проблемма. Сделай пару десяткв скринов, проанализируй цвета объектов, найди нужный и парсь по нему картинку.
Спасибо буду пробывать. Жаль что по координатам не как
0
1336 / 987 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
30.07.2010, 13:43 15
В смысле "по координатам"?
0
1 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 118
30.07.2010, 13:49  [ТС] 16
Цитата Сообщение от iama Посмотреть сообщение
В смысле "по координатам"?
Ну я как понял окно игры это та же форма программы. У формы есть компоненты например кнопка и у нее есть свои координаты не зависимо какой размер окна. Так вот и окно игры тоже имеет "свои" кнопки и у них должны быть свои координаты.
На делфи не понятен момент
Delphi
1
 PostMessage(h, WM_RBUTTONDOWN, 0, [B]MakeLParam(800-25, 490[/B]));
что за цифры параметров откуда взялись
 Комментарий модератора 
ссылки на посторонние форумы запрещены
0
1336 / 987 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
30.07.2010, 14:13 17
Если там и есть кнопки, то это точно не экземпляры TButton, и их хендл просто так не найдешь
0
Эксперт С++
2343 / 1716 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
30.07.2010, 15:12 18
Jinfaa, если бы кнопки игры были окнами в понимании Windows Spy++ их бы увидел. Раз нет, значит это не окна и сообщения послать не получится. Насчет эмуляции щелчка мышки м.б. вариант, все завити от того какая игра.
0
1 / 1 / 0
Регистрация: 05.05.2010
Сообщений: 118
30.07.2010, 15:45  [ТС] 19
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Jinfaa, если бы кнопки игры были окнами в понимании Windows Spy++ их бы увидел. Раз нет, значит это не окна и сообщения послать не получится. Насчет эмуляции щелчка мышки м.б. вариант, все завити от того какая игра.
например игра warcraft 3 внизу справа есть кнопки управления
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2010, 15:45
Помогаю со студенческими работами здесь

Свечение объекта в TDS игре на Unity2D
Я хочу сделать свечение объекта (Glow), но не знаю как это сделать! Есть ассет один в юнити MK...

Создание препятствий для объекта (стены в игре)
Всем привет. Кто уже пытался создавать игры, подскажите способ реализации стен?

В SML игре задать ограничение на выход объекта из границ
Всем привет! Пишу игру в Visual Studio. Библиотека SFML. Суть игры: У меня есть самолет, который...

Координаты объекта
Добрый день. Начал баловаться изучать питон. Решил создать форму с объектами (квадратами), чтобы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru