playcanvas
Version:
PlayCanvas WebGL game engine
34 lines (32 loc) • 655 B
JavaScript
const movementState = ()=>{
const state = 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 };