Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Мышь в движке

Мышь в движке

RayalНовичокwww7 фев. 20038:25#0
Как лучше всего реализовать DI мышь в объектном движке?
У меня сейчас вызывается callback функция в ответ на клик, но при этом не слишком понятно как сообщать проге об отпускании.

Как реализуется Smooth mouse и стоит ли поручать это движку?

DI иногда не может захватить мышь эксклюзивно, хотя никого, кто мог бы ее перехватить не запущено. В чем дело?

RayalНовичокwww8 фев. 20038:12#1
Из того что все молчат, следует, что никто этим не занимался?
А как вы, простите игры без мышей делали?

Возникла еще проблема:
При полноэкранном OpenGL DirectInput вообще ничего не захватывает.

beavisПостоялецwww8 фев. 200310:12#2
Rayal
> DI иногда не может захватить мышь эксклюзивно, хотя никого, кто мог бы ее перехватить не запущено. В чем дело?

Нужно, конечно, чтоб ты выяснил на каком этапе происходит ошибка и проанализировать возвращяемый результат (HRESULT) функциями DI.

Убедись что на WM_ACTIVATE вызывается IDirectInputDevice8::Acquire() (при автивизации!)

Обрабатываешь WM_ENTERMENULOOP, WM_EXITMENULOOP?

Ты IDirectInputDevice8::Acquire() вообще вызвал? :)

RayalНовичокwww9 фев. 20033:58#3
beavis
while( hRet == DIERR_INPUTLOST )
      hRet = sInpData.pDIKeyboard->Acquire();

Выборка и захват происходит в отдельном потоке, но не в этом суть.
Выяснилось что ошибка возникает при SetCooperativeLevel. Проги которая могла бы иметь больший приоритет запущено не было.

Но основной вопрос не в этом, а в том как лучше реализовать обмен данными с прогой юзающей мой мышиный класс.

RayalНовичокwww11 фев. 20038:08#4
HRESULT на всем пути следования абсолютно DI_OK, а мышь и клава то работают то нет.

При вызове IDirectInputDevice8::Acquire() возвращается ошибка DIERR_HANDLEEXISTS, но только после потери фокуса, а до этого тихо не работает и везде возвращает DI_OK.

Я уже ничего не понимаю. Как он может не работать если ошибок нет?

/ Форум / Программирование игр / Графика

Тема в архиве.

2001—2018 © GameDev.ru — Разработка игр