Идея: Я создаю простой скрипт WebGL (использующий замечательный three.js от mrdoob), который позволяет пользователю управлять камерой в мире объектов.Предполагается, что камера имитирует традиционные камеры-шутеры от первого лица (например, справочная информация по Team Fortress 2).То есть камера движется только тогда, когда движется мышь.
Проблема: в Javascript, единственный способ обнаружить движение мыши - это если сам курсор перемещается.Для сравнения, игры FPS не показывают курсор - они основывают движение камеры только на том, как движется мышь.Таким образом, вы можете перемещать мышь по всему коврику для мыши в любом направлении, и это всегда работает.
Хотя в браузере, поскольку движение камеры основано на курсоре, вы не можете двигаться, но пока.Когда курсор ударяется о край экрана, пользователь не может смотреть дальше в этом направлении (например, при перемещении мыши к левому краю экрана вы больше не можете смотреть влево).
Решение: Я думал о двух решениях, но ни одно из них я не знаю, как реализовать.Либо
После того, как мышь перемещена, JavaScript сбрасывает ее в центр экрана.Таким образом, после каждого движения мыши игрок снова может двигаться в любом направлении.Проблема заключается в том, что на основании проведенного мною исследования Javascript не может контролировать положение мыши пользователя (по понятным причинам, поскольку на злокачественных сайтах это будет несравненная неприятность).
Или мышь «оборачивается» вокруг экрана.Это означает, что когда пользователь достигает одного края экрана, мышь просто переходит на другую сторону экрана.(см .: http://www.digicowsoftware.com/detail?_app=Wraparound) Однако, похоже, что это тоже не врожденная возможность javascript, а только то, что может решить сторонняя программа.
Итак,Имеет ли смысл проблема? Если да, могу ли я реализовать вышеуказанные решения или мне не хватает другого?