From 35a85220881cb33b8603c124acff5572c53443cb Mon Sep 17 00:00:00 2001 From: Thomas FORGIONE Date: Sat, 11 Apr 2015 17:18:07 +0200 Subject: [PATCH] Improved mouse event --- js/PointerCamera.js | 14 +++++++++++--- scene/js/main.js | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/js/PointerCamera.js b/js/PointerCamera.js index 94cd01f..de51a00 100644 --- a/js/PointerCamera.js +++ b/js/PointerCamera.js @@ -2,6 +2,11 @@ var PointerCamera = function() { THREE.PerspectiveCamera.apply(this, arguments); + if (arguments[4] === undefined) + listenerTarget = document; + else + listenerTarget = arguments[4]; + // Set Position this.theta = Math.PI; this.phi = Math.PI; @@ -40,9 +45,12 @@ var PointerCamera = function() { document.addEventListener('keydown', onKeyDown, false); document.addEventListener('keyup', onKeyUp, false); - document.addEventListener('mousedown', onMouseDown, false); - document.addEventListener('mousemove', onMouseMove, false); - document.addEventListener('mouseup', onMouseUp, false); + listenerTarget.addEventListener('mousedown', onMouseDown, false); + listenerTarget.addEventListener('mousemove', onMouseMove, false); + listenerTarget.addEventListener('mouseup', onMouseUp, false); + listenerTarget.addEventListener('mouseout', onMouseUp, false); + + console.log(arguments[3]); } PointerCamera.prototype = Object.create(THREE.PerspectiveCamera.prototype); PointerCamera.prototype.constructor = PointerCamera; diff --git a/scene/js/main.js b/scene/js/main.js index e237133..ce37c4e 100644 --- a/scene/js/main.js +++ b/scene/js/main.js @@ -39,7 +39,7 @@ function init() { scene.add(ambient_light); // on initialise la camera que l’on place ensuite sur la scène - var camera1 = new PointerCamera(50, container_size.width / container_size.height, 1, 100000); + var camera1 = new PointerCamera(50, container_size.width / container_size.height, 1, 100000, container); var camera2 = new FixedCamera(50, container_size.width / container_size.height,