???
Математика на уровне МГУ

Страница 5 из 6 ПерваяПервая 123456 КрайняяКрайняя
Показано с 101 по 125 из 126

Тема: Мой вариант TrackIR

  1. #101
    электромеханик-любитель Аватар для samorez
    Регистрация
    25.09.2003
    Адрес
    Russian Federation
    Возраст
    62
    Сообщений
    128

    Question

    А в этом Локоне прицел приближается или вся картинка укрупняется как в ИЛе? Вот в ИЛе к прицелу льнут не понастоящему.
    Сам только ИЛ юзаю...
    Во-о-о как бывает...

  2. #102
    Механик Аватар для Spasatel
    Регистрация
    21.05.2003
    Адрес
    Краснодар, ЮМР
    Возраст
    52
    Сообщений
    287
    Так же, вся картинка приближается!
    Может в релизе изменится что-то
    Кстати здесь даже тема есть по поводу приближения.
    Крайний раз редактировалось Spasatel; 17.11.2003 в 16:51.
    Желаете оказаться в центре боевых действий? Вам сюда! http://www.wwiionline.ru

  3. #103
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571

    2 ALL

    Позволю разок себе повториться, уже в своей (нашей) ветке:

    "Все перевернул с ног на голову, теперь будет 4 передатчика и один приемник. Влияние засветки устранил (почти) полностью - лампа в 100Вт с расстояния 500мм практически не влияет на результат!
    Схема получилась не сложнее , чем двухканальная (сейчас 4 канала, легко можно довести до 6 каналов, практически без усложнения схемы!). Появился небольшой дергунец во всех каналах, сейчас это главная проблема, все еще не понял, в чем дело, похоже в том, что излучающие ИК светодиоды включаются недостаточно быстро... или наводки... (на осциллографе мне показалось, что помехи похожи на кадровые импульсы TV...) будем думать дальше! Программа еще не готова, но уже обнадеживает, благодаря 4 каналам, уже осуществляется усреднение измерений, благодаря чему, дергунец уменьшается в 2 раза (усе равно, что добавляется один бит в ADC!) Частота измерений меняется от 10/сек до 60..100/сек, в зависимости от расстояния от излучателей до приемника. Здесь, похоже, лучше применить AVR контороллер с встроенным ADC, но для задачи управления обзором и частоты 10/сек вполне достаточно (имхо)."

    Это я написал неделю назад, в соседней ветке. Теперь текущие сводки с фронта:

    В процессе доводки железа полностью подтвердилась (ранее только подозреваемая) сильная анизотропия излучающего светодиода (применялся импортный СД синюшного цвета, диаметром 5мм, якобы, для пультов ДУ). ДН (диаграмма направленности) в плоскости ножек СД (светодиода) и в плоскости, нормальной к ножкам, и в плоскости под углом в PI/4, сильно отличаются друг от друга! Причем, последняя ДН, которая "в плоскости под углом в PI/4", не является промежуточной, а является еще более острой, чем первые две! Отсюда следует вывод, что в ДН СД есть не менее 4х лепестков! (И еще один вывод - неудачи в применении оптики в джоестроении могут быть связаны и с этим тоже!)
    Исследование ранее применявшихся мною СД АЛ164 (с плоской матовой излучающей поверхностью) показало еще более неравномерную ДН (два огромных боковых лепестка и один плоский центральный), кроме того, у них более низкий КПД, все это исключает возможность применения отечественных СД (с плокой матовой излучающей поверхностью), а как бы хотелось поддержать отечественного производителя!
    За последние несколько дней, я наконец, собрал установку для снятия ДН СД. Вчера и сегодня только этим и занимаюсь. Похоже, что при учете неравномерности ДН СД, все-таки возможно использование СД (но только не с плоской излучающей поверхностью!).

    Хватит про оптику, пора про электронику! Как я писал неделю назад, "Появился небольшой дергунец во всех каналах". Так вот, я его наконец победил! Дергается код АЦП только в 3м-4м знаке! Посто я немного лоханулся и неправильно рассчитал фильтры. В последнем варианте их три: первый ФНЧ (Q~5, Fr~3kHz), второй ФВЧ(Q~1.5,Fr~3.6kHz) (основная фильтрация от бытовых источников света), а третий - довольно странный, у него везде коеффициент передачи не меньше единицы, но на 3kHz огромный горб около 20дБ (или даже больше, на память не скажу). И кроме того, я поменял в АЦП простейшее токовое зеркало на токовое зеркало Уильсона, но это мало на что повлияло (может быть, на температурную стабильность, ессно, в лучшую сторону).
    В результате доработок "дергунец" практичеки исчез, но снизилась частота опроса до (6...7Hz-40...85Hz) "в зависимости от расстояния от излучателей до приемника".

    "Будем думать дальше!"
    Успехов!

  4. #104
    GO!
    Как метод борьбы с анизотропией излучателей. Может приемник на голове делать, а не излучатель.
    Как там с ДН приемников дело обстаит?

    приемник мне видиься из четырех фд, расположенных рядом и оси корорых образуют ребра пирамидки, сходятся в вершине. Диоды глядат в сторону основания пирамидки, в стороны одним словом.
    Крайний раз редактировалось Pioneerrr; 28.01.2004 в 06:04.

  5. #105
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571

    2 Pioneerrr

    Нет, так не очень. Поначалу рассматривал вариант с четырьмя фотоприемниками, но оказалось выгоднее 4 передатчика и один приемник (передатчики излучают не одновременно, а по очереди). Дело в том, что после приемника стоят аналоговые фильтры, сейчас - целых 3 каскада. Они фильтруют постоянную засветку и мерцающую - солнечный свет и люминесцентные лампы и т.п. А передатчик - это всего лишь СД управляемый ключом, ну и еще источник тока - один на все 4 канала. Последний вариант получается гораздо проще, кроме того, легче достичь идентичности каналов, влияет только разброс характеристик СД, а не всей аналоговой части с фильтрами - она общая для всех каналов.
    ДН светодиодов уже снял. Сейчас она у меня ввиде трех таблиц: по вертикали, по горизонтали и по диагонали (от плоскости выводов). Сейчас пишу вспомагательную прогу, с помощью которой я найду необходимую функцию для преобразования ДН в форму равнобедренного треугольника. Дальше - просто. Алгоритм примерно как у частотного детектора в ЧМ приемнике (сложение-вычитание).
    Успехов!

  6. #106
    Конструктор
    Регистрация
    16.04.2002
    Адрес
    Внезапно Москва
    Возраст
    49
    Сообщений
    1,744
    Хочется разубедить всех безоговорочно жадущих вывода данных сего девайса на оси джоя.
    Если это нужно для управления чем-то как джоем, то очень омневаюсь что это будет юзабельно.
    Если это для взаимодействия с NewView, то это операция на глаз через задний проход!
    NewView опрашивает джой для получения абсолютных координат и передачи их после обработки Илу. Но ему совершенно не важно откуда брать эти самые координаты. Более того, опрос джоя это не самое точное и быстрое решение. Гораздо проще спрашивать эти данные у той, программы, что уже написана и пихать их Илу. Именно так работает TrackEM от Alezz'a. Это я к тому что открытый интерфейс для подобных программ и железяк уже реализован в NewView! Нет необходимости городить огород с осями джоя для обзора. Вот.
    Вопросы по NewView задавать здесь: www.hruks.com/forum
    NewView можно скачать здесь: www.newview.hruks.com

  7. #107

    Re: 2 Pioneerrr

    Originally posted by GO!
    А передатчик - это всего лишь СД управляемый ключом, ну и еще источник тока - один на все 4 канала.
    А что если также коммутировать принимающие диоды через какинть поливики? или помехи вносятся?

  8. #108
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571

    2 Pioneerrr

    А что если также коммутировать принимающие диоды через какинть поливики? или помехи вносятся?
    Ты подумай, сколько энто будет стоить! И что это дает! Есть хорошая микруха КР1109КТ22 (7 ключей в DIP16 корпусе!)(аналог ULN2003A), и куча других микрух - токовых ключей, которые стоят копейки и полностью удовлетворяют... разработчика.

    2 Hruks
    Если это для взаимодействия с NewView, то это операция на глаз через задний проход!
    Не... Это всего-лишь один из вариантов устройства управления обзором. NewView - вещь! Но - хочу большего, потому и не бросил! TrackIR в целом, по России, купить почти нереально (даже в Самаре!) (и дороговато).

    Похоже, намечается хорошая альтернатива TrackIR в виде известной проги CAM2PAN. Но и она не лишена недостатков. Хотелось бы там увидеть поддержку не только веб-камер, но и камер, подключенных к компу через платы видеозахвата, TVтюнеры и т.п.

    Посему, поскольку, как заметил гн. Pioneerrr "...копать следует во всех направлениях...", я все еще продолжаю свою разработку.

    Надо отметить, что в новом варианте с 4-мя передатчиками уже есть четкая привязка к центру, с небольшой мертвой зоной, которая регулируется поворотом одного подстроечного резистрора (порог приемника).

    Аппаратная часть решена полностью, остались вопросы с излучателями и с программой.
    Успехов!

  9. #109
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571

    2 samorez

    Но про ЧЕТВЕРТУЮ степень...
    Всеже квадрат расстояния, кажется. Удваивается значение, а не степень... Ведь меняется скорость. А она, вроде, на уровень сигнала не влияет (доплеровщина не в счет!).
    Не-а! Именно так! С пассивным отражателем уровень сигнала меняется именно в 4-й степени! И невозможно его исправить или ухудшить применением отражателей хитрой формы.

    С природой не поспоришь!
    Успехов!

  10. #110
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571
    Показываю скриншот индикатора проги. Здесь я пытался начертить крест и обвести крайнюю рамку. Головой, не мышкой!
    Зеленое перекрестие показывает текущии координаты курсора.
    Пока еще не ввел мертвую зону и регулировку кривой отклика. Так же есть проблемы по управлению параметрами мышки. Об этом ниже.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	krest.gif 
Просмотров:	203 
Размер:	42.7 Кб 
ID:	15936  
    Успехов!

  11. #111
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571
    Проблема в следующем.
    Вопрос программистам: Как программно регулировать чувствительность (не ускорение) мышки?
    Из MSDN выходит, что так:

    Код:
    var
      Speed: Integer; // от 1 до 20, по умолчанию 10.
      erc:   longbool;
      ercc:  cardinal;
    //.......
    
    //.......
    procedure TForm1.SpeedChange;
    begin
      erc:=SystemParametersInfo(SPI_GETMOUSESPEED, 0, @Speed, 0);
      Speed:=1; // Установить sensitivity=1
      erc:=SystemParametersInfo(SPI_SETMOUSESPEED, 0, @Speed, SPIF_SENDCHANGE or SPIF_UPDATEINIFILE);
      ercc:=GetLastError;
    end;
    На самом деле, правильно выполняется только считывание текущей чувствительности, а запись (2й вызов SystemParametersInfo()) возвращает erc=false, в последней строке ищу код ошибки, а ercc=0. Проверял в Win98 и WinXP, результат - один.

    Вызов той же функции для регулировки ускорения мышки работает в обе стороны и чтение (SPI_GETMOUSE) и запись (SPI_SETMOUSE). Я в непонятках, что здесь не правильно? Есть ли другие программные способы регулирования чувствительности мышки?
    Успехов!

  12. #112
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571
    Выходит, что никто не знает!
    Обращаюсь еще раз конкретно к UIV, Maxix, Hruks&Alezz (а также и к остальным, кто знаком с функциями API)
    Как программно регулировать чувствительность (не ускорение) мышки? итд, итп...
    Справлюсь, конечно, и без этого, но так мышка будет двигаться плавнее, и мне не придется отслеживать изменение разрешения дисплея.
    Успехов!

  13. #113
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571
    Точно знаю, что это сделать можно, и вот почему:
    Существует такая прога "XPmousespeed", когда ее запускаешь, в заголовке диалогового окна "XPмышегон". Работает и в Win98 и в WinXP. FreeWare. Она написана кем-то с сайта команды по каунтстрайк М19. Но и в сайте и в проге нет ни одного мыла для связи. Кроме того, эта прога выложена на сайте одного из лицеев Нижнего Новгорода. Может быть, кто-нибудь знаком с этой прогой или знает, как связаться с ее автором?
    Успехов!

  14. #114
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571
    Лазая по 'XPMouseSpeed.exe' (118784байт 29.12.2002), я обнаружил, что прога написана на Visual C и тоже использует функцию API SystemParametersInfo().
    Если так, то быть может, стоит поменять не разработчика, а версию Дельфи?! (сейчас у меня Delphi interprise version 5.0(build 5.62)).
    Или попробовать на Visual C? Хотя я в нем не особеннно силен . Будем думать дальше!
    Успехов!

  15. #115
    Зашедший
    Регистрация
    25.01.2002
    Адрес
    Украина, г.Запорожье
    Возраст
    51
    Сообщений
    84
    Originally posted by GO!
    Проблема в следующем.
    Вопрос программистам: Как программно регулировать чувствительность (не ускорение) мышки?
    Из MSDN выходит, что так:

    Код:
    var
      Speed: Integer; // от 1 до 20, по умолчанию 10.
      erc:   longbool;
      ercc:  cardinal;
    //.......
    
    //.......
    procedure TForm1.SpeedChange;
    begin
      erc:=SystemParametersInfo(SPI_GETMOUSESPEED, 0, @Speed, 0);
      Speed:=1; // Установить sensitivity=1
      erc:=SystemParametersInfo(SPI_SETMOUSESPEED, 0, @Speed, SPIF_SENDCHANGE or SPIF_UPDATEINIFILE);
      ercc:=GetLastError;
    end;
    [...]
    При использовании SPI_SETMOUSESPEED нужно передавать третьим параметром не адрес переменной, а её значение (или константу), приведённое к типу указателя. То есть, в Вашем случае должно быть примерно следующее:
    Код:
    erc:=SystemParametersInfo(SPI_SETMOUSESPEED, 0, Pointer(Speed), SPIF_SENDCHANGE);
    В четвёртом параметре SPIF_UPDATEINIFILE добавлять не надо, так как SPIF_SENDCHANGE делает всё, что нужно:

    SPIF_SENDCHANGE Broadcasts the WM_SETTINGCHANGE message after updating the user profile.
    Проверено - работает.
    Крайний раз редактировалось Mishel; 02.03.2004 в 19:50.

  16. #116
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571

    2 Mishel

    Originally posted by Mishel
    При использовании SPI_SETMOUSESPEED нужно передавать третьим параметром не адрес переменной, а её значение (или константу), приведённое к типу указателя. То есть, в Вашем случае должно быть примерно следующее:
    Код:
    erc:=SystemParametersInfo(SPI_SETMOUSESPEED, 0, Pointer(Speed), SPIF_SENDCHANGE);
    В четвёртом параметре SPIF_UPDATEINIFILE добавлять не надо, так как SPIF_SENDCHANGE делает всё, что нужно:



    Проверено - работает.
    Успехов!

  17. #117
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571

    2 Mishel

    Originally posted by Mishel
    При использовании SPI_SETMOUSESPEED нужно передавать третьим параметром не адрес переменной, а её значение (или константу), приведённое к типу указателя. То есть, в Вашем случае должно быть примерно следующее:
    Код:
    erc:=SystemParametersInfo(SPI_SETMOUSESPEED, 0, Pointer(Speed), SPIF_SENDCHANGE);
    В четвёртом параметре SPIF_UPDATEINIFILE добавлять не надо, так как SPIF_SENDCHANGE делает всё, что нужно:



    Проверено - работает.
    Спасибо, заработало!

    Обьясняется имхо немного по другому:
    @Speed - адрес Speed - константа
    Pointer(Speed) - указатель, установленный на адрес Speed - переменная

    Не совсем понятно почему работает SPI_SETMOUSE так как у меня и по указателю тоже:

    Код:
    type
      paMouse= ^aMouse;
      aMouse = array [1..3] of integer;
    var
      Speed : Integer;
      aM    : aMouse;
      paM   : paMouse;
      erc   : longbool;
    
    //.............................
    
      paM:=@am;
      am[1]:=0;  //Отключить ускорение
      am[2]:=0;
      am[3]:=0;
      erc:=SystemParametersInfo(SPI_SETMOUSE, 0, @aM, SPIF_SENDCHANGE);                 //работает :)
      erc:=SystemParametersInfo(SPI_SETMOUSE, 0, paM, SPIF_SENDCHANGE);                 //работает :)
    
      Speed:=1; //Установить чувствительность=1
      erc:=SystemParametersInfoW(SPI_SETMOUSESPEED, 0, Pointer(Speed),SPIF_SENDCHANGE); //работает :)
      erc:=SystemParametersInfoW(SPI_SETMOUSESPEED, 0, @Speed, SPIF_SENDCHANGE);        //не работает :(
    Я думаю, что это как-то связано с тем что
    sizeof(aM){=12} > sizeof(Speed){=4}
    при передаче параметров с размером, большим 4 байт, передается не параметр, а указатель на него.
    Но ведь sizeof(@Speed) = sizeof(Pointer(Speed)) = sizeof(@aM) = sizeof(paM) = 4

    ...А при приеме SPI_GETMOUSE и SPI_GETMOUSESPEED работают наоборот только @aM и @Speed ...

    Как то туманно все это. Но главное - результат достигнут. Еще раз спасибо!
    Успехов!

  18. #118
    Зашедший
    Регистрация
    25.01.2002
    Адрес
    Украина, г.Запорожье
    Возраст
    51
    Сообщений
    84

    Re: 2 Mishel

    2 GO!
    Попробую прояснить ситуацию.
    Originally posted by GO!
    Обьясняется имхо немного по другому:
    @Speed - адрес Speed - константа
    Pointer(Speed) - указатель, установленный на адрес Speed - переменная
    Не важно (в данном случае), константу Вы пытаетесь передать или переменную. Для компилятора важен тип передаваемого параметра, а для кода вызывыемой функции - значение. В обоих случаях тип передаваемого параметра - Pointer (т.е. - компилятор удовлетворён), а вот значение - в первом случае - это адрес переменной Speed, а во втором - значение переменной Speed. Так как вызываемая функция проверяет диапазон допустимых значений данного параметра (1..20), а адрес переменной Speed не входит в этот диапазон, функция возвращает false (в первом случае).

    Не совсем понятно почему работает SPI_SETMOUSE так как у меня и по указателю тоже:


    Код:
    type
      paMouse= ^aMouse;
      aMouse = array [1..3] of integer;
    var
      Speed : Integer;
      aM    : aMouse;
      paM   : paMouse;
      erc   : longbool;
    
    //.............................
    
      paM:=@am;
      am[1]:=0;  //Отключить ускорение
      am[2]:=0;
      am[3]:=0;
      erc:=SystemParametersInfo(SPI_SETMOUSE, 0, @aM, SPIF_SENDCHANGE);                 //работает :)
      erc:=SystemParametersInfo(SPI_SETMOUSE, 0, paM, SPIF_SENDCHANGE);                 //работает :)
    
      Speed:=1; //Установить чувствительность=1
      erc:=SystemParametersInfoW(SPI_SETMOUSESPEED, 0, Pointer(Speed),SPIF_SENDCHANGE); //работает :)
      erc:=SystemParametersInfoW(SPI_SETMOUSESPEED, 0, @Speed, SPIF_SENDCHANGE);        //не работает :(
    Здесь в первых двух вызовах передаётся указатель: @aM - нетипизированный (Pointer), paM - типизированный. И тот и другой совместимы по типу с Pointer и указывают на один и тот же массив.
    В третьем вызове передаётся значение Speed (=1) (значение типа Integer приведено к типу Pointer, но по прежнему является значением, а не адресом переменной Speed), в четвёртом вызове передаётся адрес Speed (явно вне диапазона 1..20).

    Я думаю, что это как-то связано с тем что
    sizeof(aM){=12} > sizeof(Speed){=4}
    при передаче параметров с размером, большим 4 байт, передается не параметр, а указатель на него.
    Но ведь sizeof(@Speed) = sizeof(Pointer(Speed)) = sizeof(@aM) = sizeof(paM) = 4

    ...А при приеме SPI_GETMOUSE и SPI_GETMOUSESPEED работают наоборот только @aM и @Speed ...

    Как то туманно все это. [...]
    Всё гораздо проще.
    Функцией ожидается в третьем параметре:

    в случае SPI_GETMOUSE и SPI_SETMOUSE - указатель на массив из трёх Integer'ов;

    в случае SPI_GETMOUSESPEED - указатель на переменную типа Integer;

    в случае SPI_SETMOUSESPEED - значение типа Integer.

  19. #119
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571

    2 Mishel

    Всё гораздо проще.
    Функцией ожидается в третьем параметре:

    в случае SPI_GETMOUSE и SPI_SETMOUSE - указатель на массив из трёх Integer'ов;

    в случае SPI_GETMOUSESPEED - указатель на переменную типа Integer;

    в случае SPI_SETMOUSESPEED - значение типа Integer.
    Успехов!

  20. #120
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571

    2 Mishel

    Всё гораздо проще.
    Функцией ожидается в третьем параметре:

    в случае SPI_GETMOUSE и SPI_SETMOUSE - указатель на массив из трёх Integer'ов;

    в случае SPI_GETMOUSESPEED - указатель на переменную типа Integer;

    в случае SPI_SETMOUSESPEED - значение типа Integer.
    Mishel, Ты просто молодец! Ты меня спас! Будешь в Самаре - с меня пиво! (приглашаю в гости!).

    А не знаешь ли как временно заблокировать (а потом разблокировать) перемещение реальной мышки(мышек), при

    этом, желательно, оставить в действии их кнопки и кнопки клавы тоже?
    Успехов!

  21. #121
    Зашедший
    Регистрация
    25.01.2002
    Адрес
    Украина, г.Запорожье
    Возраст
    51
    Сообщений
    84

    Re: 2 Mishel

    Originally posted by GO!
    [...]
    А не знаешь ли как временно заблокировать (а потом разблокировать) перемещение реальной мышки(мышек), при

    этом, желательно, оставить в действии их кнопки и кнопки клавы тоже?
    Никогда не озадачивался такой проблемой.

    Чтобы заблокировать именно изменение координат мыши, не затронув её кнопки и клаву, из штатных системных средств можно попробовать два варианта. Но надежды на их эффективность немного, так как оба они работают с экранными координатами мышиного курсора, и в игре это может не сработать.

    1. Воспользоваться функцией ClipCursor(lpRect: PRect): BOOL;, передав ей прямоугольник, в котором левый верхний угол соответствует текущим координатам курсора, а правый нижний - на один пиксель правее и ниже. При этом виндузный курсор мыши не сдвинется ни на один пиксель. Чтобы вернуть обычное состояние - нужно передать в эту функцию nil.

    2. Написать hook-функцию для мыши (WH_MOUSE), которая будет фильтровать мышиные события до того, как они достигнут приложения. Подробнее о работе с хуками - в MSDN.

    Оба эти варианта под вопросом.
    Что может действительно помочь - это написание драйвера-фильтра для этой цели (может уже кто-то написал такой).

    PS: Спасибо за приглашение на пиво .

  22. #122
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571
    В ИД2Ш и в ИЛ2ЗС в файле CONF.INI есть такие строчки:
    Код:
    [rts]
    ;ProcessAffinityMask=1
    mouseUse=2
    Если заменить последнее значение на mouseUse=1, то в игре уже будет использоваться не собственный курсор мыши, а системный.
    При этом начинают правильно работать функции GetCursorPos,SetCursorPos и Mouse_Event с параметром (MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE).
    Это полностью устраняет "проскальзывание мыши" и упрощает связь управляющей проги с ИЛом. Вот соответствующий трек (для ИЛ2ЗС v1.0):
    Вложения Вложения
    Успехов!

  23. #123
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571
    В ИД2Ш и в ИЛ2ЗС в файле CONF.INI есть такие строчки:
    Код:
    [rts]
    ;ProcessAffinityMask=1
    mouseUse=2
    Если заменить последнее значение на mouseUse=1, то в игре уже будет использоваться не собственный курсор мыши, а системный.
    При этом начинают правильно работать функции GetCursorPos,SetCursorPos и Mouse_Event с параметром (MOUSEEVENTF_ABSOLUTE or MOUSEEVENTF_MOVE).
    Это полностью устраняет "проскальзывание мыши" и упрощает связь управляющей проги с ИЛом. Вот соответствующий трек (для ИЛ2ЗС v1.0):
    Вложения Вложения
    Успехов!

  24. #124
    Originally posted by GO!
    Вот соответствующий трек (для ИЛ2ЗС v1.0):
    Тогда уж лучше в ntrk запиши. В 1.0 щас уже никто не летает.

  25. #125
    Пилот
    Регистрация
    07.07.2003
    Адрес
    Samara
    Сообщений
    571
    Еще один плюс - прога работает теперь и в Win98.
    Вот тот же трек, переписанный в NTRK (архив в двух томах):
    Вложения Вложения
    Успехов!

Страница 5 из 6 ПерваяПервая 123456 КрайняяКрайняя

Ваши права

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