remember/sims/splash/Mouse.js

60 lines
1.3 KiB
JavaScript

(function(exports){
// Singleton
var Mouse = {
x: undefined,
y: undefined,
pressed: false,
update: function(){
if(Mouse.x!==undefined && Mouse.y!==undefined){
if(Mouse.lastX===undefined) Mouse.lastX=Mouse.x;
if(Mouse.lastY===undefined) Mouse.lastY=Mouse.y;
Mouse.velX = Mouse.x-Mouse.lastX;
Mouse.velY = Mouse.y-Mouse.lastY;
Mouse.lastX=Mouse.x;
Mouse.lastY=Mouse.y;
}
}
};
exports.Mouse = Mouse;
// Event Handling
var onMouseMove,onTouchMove;
document.body.addEventListener("mousedown",function(event){
Mouse.pressed = true;
onMouseMove(event);
},false);
document.body.addEventListener("mouseup",function(event){
Mouse.pressed = false;
},false);
document.body.addEventListener("mousemove",onMouseMove = function(event){
Mouse.x = event.pageX;
Mouse.y = event.pageY - window.pageYOffset;
},false);
document.body.addEventListener("touchstart",function(event){
Mouse.pressed = true;
onTouchMove(event);
},false);
document.body.addEventListener("touchend",function(event){
Mouse.pressed = false;
},false);
document.body.addEventListener("touchmove",onTouchMove = function(event){
Mouse.x = event.changedTouches[0].clientX;
Mouse.y = event.changedTouches[0].clientY - window.pageYOffset;
//event.preventDefault();
},false);
})(window);