playcanvas
Version:
Open-source WebGL/WebGPU 3D engine for the web
26 lines (25 loc) • 552 B
JavaScript
const movementState = () => {
const state = /* @__PURE__ */ new Map();
return {
down: (event) => {
state.set(event.pointerId, [event.screenX, event.screenY]);
},
move: (event) => {
if (!state.has(event.pointerId)) {
return [0, 0];
}
const prev = state.get(event.pointerId);
const mvX = event.screenX - prev[0];
const mvY = event.screenY - prev[1];
prev[0] = event.screenX;
prev[1] = event.screenY;
return [mvX, mvY];
},
up: (event) => {
state.delete(event.pointerId);
}
};
};
export {
movementState
};