Симулировать движение мыши в 3D играх? - PullRequest
1 голос
/ 14 марта 2011

Привет Я сделал человеческий компьютерный интерфейс для управления мышью с помощью пальцев, используя C ++ и OpenCV в CodeBlocks IDE http://www.youtube.com/watch?v=-q5aXTg0pVE Я хочу использовать это в 3D-игре, такой как почетная медаль

Сначала я использовал SetCursorPos (x, y), он не работал, поэтому я переключился на SendInput и mouse_event. Они справились с ошибкой, когда персонаж начал указывать во всех случайных направлениях и самостоятельно менять направления.

Должен ли я использовать directinput, так как игра использует directx. Если так, то как? Я пробовал много уроков, но все говорят о том, как получить данные с помощью мыши, а не о том, как вставить их в поток мыши. Я использовал как абсолютное, так и относительное позиционирование, но оба не смогли, персонаж ведет себя странно

1 Ответ

4 голосов
/ 14 марта 2011

Не видя вашего кода, этот ответ немного далек, но здесь все идет.

SendInput должно сработать, но я думаю, что игра вмешивается, используя SetCursorPos.Многие игры сбрасывают курсор в центр экрана каждый кадр, поэтому он не попадает на край случайно.

Попробуйте использовать SendInput с относительным движением мыши, поэтому без Флаг MOUSEEVENTF_ABSOLUTE в структуре MOUSEINPUT.

...