Как бы я заставил своего персонажа сделать 360 в игре, используя только ввод мыши?
Эй, я пытаюсь заставить свою мышь делать 360-градусное движение в игре, используя только ввод мыши, возможно ли это?
Что я уже пробовал:
В настоящее время я использую эти функции для управления мышью:
void cMouseInput::MouseSetup(INPUT* InputBuffer) { InputBuffer->type = INPUT_MOUSE; InputBuffer->mi.dx = (0 * (0xFFFF / SCREEN_WIDTH)); InputBuffer->mi.dy = (0 * (0xFFFF / SCREEN_HEIGHT)); InputBuffer->mi.mouseData = 0; InputBuffer->mi.dwFlags = MOUSEEVENTF_ABSOLUTE; InputBuffer->mi.time = 0; InputBuffer->mi.dwExtraInfo = 0; } void cMouseInput::MoveMouse(INPUT* InputBuffer, int X, int Y) { InputBuffer->mi.dx = (X * (0xFFFF / SCREEN_WIDTH)); InputBuffer->mi.dy = (Y * (0xFFFF / SCREEN_HEIGHT)); InputBuffer->mi.dwFlags = (MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE); SendInput(1, InputBuffer, sizeof(INPUT)); }
И я использую их вот так:
cMouseInput M; M.MouseSetup(&M.InputBuffer); M.MoveMouse(&M.InputBuffer, POS_X, POS_Y);
Это не работает, потому что,
1. слишком быстро, я должен был бы найти способ сгладить это на ступеньку ниже.
2. Я не могу получить его, чтобы выполнить полное вращение.
3. Он только перемещает курсор с определенными координатами x и y координата на экране. Неужели нет никакого способа просто заставить мышь сделать имитированное правильное движение..? Например MoveRight(200px); -> переместить курсор мыши на 200 пикселей вправо. (В качестве примера)
Rick York
Мне кажется, и я могу ошибаться, что это подпадает под категорию интерпретации жестов, так что взгляните на код для этого. Там обязательно будет много, потому что этот материал используется во многих местах. Вероятно, что-то есть и на этом сайте. Я бы добавил ссылки, но вы можете искать так же хорошо, как и я.