Класс pc.Mouse в библиотеке PlayCanvas предоставляет
функциональность для обработки взаимодействий с мышью в игровом движке.
Он используется для отслеживания положения мыши, состояния кнопок и
других событий, связанных с курсором. Класс активно применяется для
создания интерактивных приложений и игр, где важна точность отслеживания
действий пользователя.
Одной из ключевых характеристик, предоставляемых классом
pc.Mouse, являются данные о движении мыши. Для этого
используются два свойства: movementX и
movementY.
Эти значения полезны для реализации поведения, где требуется отслеживать именно движение мыши, а не её абсолютное положение на экране. Например, такие данные используются в играх для управления камерой или объектами, когда нужно перемещать их в зависимости от перемещения мыши.
Пример:
var mouse = new pc.Mouse();
mouse.on(pc.EVENT_MOUSEMOVE, function (event) {
console.log("Movement on X: " + event.movementX);
console.log("Movement on Y: " + event.movementY);
});
В этом примере события движения мыши обрабатываются с помощью события
pc.EVENT_MOUSEMOVE, и выводятся изменения положения мыши на
каждой оси.
Класс pc.Mouse позволяет отслеживать состояние кнопок
мыши через свойства и события, связанные с нажатием и отпусканием
кнопок. Существует несколько важных методов и свойств, которые можно
использовать для работы с кнопками:
true, если кнопка с индексом button нажата.
Индекс кнопок: 0 — левая кнопка, 1 — правая кнопка, 2 — средняя
кнопка.Пример:
var mouse = new pc.Mouse();
mouse.on(pc.EVENT_MOUSEDOWN, function (event) {
if (event.button === pc.MOUSEBUTTON_LEFT) {
console.log("Левая кнопка мыши нажата");
}
});
Здесь при нажатии на левую кнопку мыши выводится сообщение в консоль.
Класс pc.Mouse также поддерживает отслеживание прокрутки
колеса мыши. Для этого используются события и свойства, связанные с
изменением положения колеса:
Пример:
var mouse = new pc.Mouse();
mouse.on(pc.EVENT_MOUSEWHEEL, function (event) {
console.log("Колесо прокручено на: " + event.wheelDelta);
});
Этот код отслеживает прокрутку колеса мыши и выводит количество прокрученных единиц.
Для реализации различных взаимодействий с мышью в PlayCanvas
необходимо подписываться на соответствующие события. В классе
pc.Mouse доступны несколько типов событий:
Подписка на эти события осуществляется с помощью метода
on(), а отмена — с помощью метода off().
Пример подписки на события:
var mouse = new pc.Mouse();
mouse.on(pc.EVENT_MOUSEMOVE, function (event) {
console.log("Мышь движется!");
});
mouse.on(pc.EVENT_MOUSEDOWN, function (event) {
console.log("Нажата кнопка: " + event.button);
});
mouse.on(pc.EVENT_MOUSEUP, function (event) {
console.log("Отпущена кнопка: " + event.button);
});
mouse.on(pc.EVENT_MOUSEWHEEL, function (event) {
console.log("Прокручено на: " + event.wheelDelta);
});
Здесь создаются обработчики для различных типов событий и выводятся соответствующие сообщения в консоль.
Когда требуется обрабатывать несколько кнопок одновременно,
PlayCanvas предоставляет простое средство для отслеживания, какие кнопки
были нажаты в момент события. Например, можно использовать
event.buttons для получения состояния всех кнопок мыши.
var mouse = new pc.Mouse();
mouse.on(pc.EVENT_MOUSEDOWN, function (event) {
console.log("Нажаты кнопки: " + event.buttons);
});
Значения свойств event.buttons представляют собой
битовую маску, которая указывает, какие кнопки нажаты в момент
события.
Работа с классом pc.Mouse в PlayCanvas предоставляет
разработчикам гибкие инструменты для обработки взаимодействий с мышью. С
помощью свойств для отслеживания положения курсора, состояния кнопок и
прокрутки колеса мыши можно создавать динамичные и интерактивные игры и
приложения. Обработчики событий, такие как
pc.EVENT_MOUSEMOVE, pc.EVENT_MOUSEDOWN, и
другие, обеспечивают точную настройку взаимодействия, а использование
свойств типа movementX, movementY, и
wheelDelta позволяет детально отслеживать изменения.