Я использую Copperlicht, и я хочу создать полезную FPS. Элементы управления demo показывают, почему среда браузера делает это болью.
Чтобы реализовать управление камерой FPS, вам необходимо отслеживать относительную позицию мыши - другими словами, ее движение, а не его абсолютные координаты экрана. Мышь может покинуть браузер в любое время (по праву) и не может быть отслежена, если пользователь не инициирует событие перетаскивания внутри страницы. Нажатие событий изменяет фокус и не позволяет приложению использовать данные мыши в качестве входных данных.
Положение мыши можно отслеживать во время перетаскивания, но для этого требуется, чтобы пользователь удерживал левую кнопку мыши. Это не хорошо, поскольку щелчок левой кнопкой мыши обычно используется для других целей. Удержание кнопки вниз также утомительно и громоздко.
Единственное, о чем я могу думать, это автоматизировать среднюю кнопку мыши. Среднее нажатие кнопки мыши удерживает фокус в браузере и сохраняет события влево/вправо за пределами окна браузера в фокусе браузера. Возможно ли, чтобы средняя кнопка мыши оставалась нажатой с использованием JavaScript?
Если нет, существует ли "чистое" решение? Я бы предпочел не пойти на flash или Java или плагин в качестве ответа.