Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.09.2011, 16:21
alex123 alex123 вне форума
Прохожий
 
Регистрация: 13.09.2011
Сообщения: 2
Репутация: 10
По умолчанию Вопрос по mouse_event

Пишу прогу, которая посылает клики в игру.
Для кликов использую mouse_event, сначала LEFTDOWN, сразу после него LEFTUP. Данные действия поместил в таймер.
Код:

Код:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
  mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
end;

Проблема в том, что если между кликами поставить большой интервал, то все нормально, работает так как я хочу, клики идут в одну точку.
Как только ставлю маленький интервал, "включается" разброс, клики (выстрелы) попадают в определенную область, но не в точку.

Как это исправить?

Мониторил координаты курсора, они не изменяются даже при большом разбросе с маленьким интервалом.
Как я понял, игра считывает интервал между кликами, и если он мал, считает это как зажим клавиши, отсюда и разброс. Это мои догадки.
Как сделать, чтоб все клики происходили в одной точке?
Ответить с цитированием
  #2  
Старый 13.09.2011, 18:15
Fokys100 Fokys100 вне форума
Прохожий
 
Регистрация: 18.07.2011
Сообщения: 22
Репутация: 12
По умолчанию

Сразу после begin напиши SetCursorPos(x,y). x - это точка по иксу, а y- это точка по игрику.
Ответить с цитированием
  #3  
Старый 13.09.2011, 18:18
alex123 alex123 вне форума
Прохожий
 
Регистрация: 13.09.2011
Сообщения: 2
Репутация: 10
По умолчанию

Я ж упомянул, что координаты не изменяются.
Этот вариант пробовал, не помгает.
Ответить с цитированием
  #4  
Старый 13.09.2011, 18:58
einstein einstein вне форума
Начинающий
 
Регистрация: 02.09.2010
Адрес: Город
Сообщения: 143
Репутация: -4653
По умолчанию

тебе нужно компенсировать разброс выстрелов небольшими смещениями курсора мыши. если выстрелы пошли выше то сместить курсор ниже. перемещать курсор той же фкнкцией.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 03:25.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025