diff --git a/demos/mickey/mickey.js b/demos/mickey/mickey.js index 66138db..d6d60f6 100644 --- a/demos/mickey/mickey.js +++ b/demos/mickey/mickey.js @@ -1,31 +1,65 @@ var ps; + +var buttonDown = false; var zoomed = 0; -var rot = 0; + +var rot =[0,0]; +var curCoords = [0,0]; + +var size = 500; function zoom(amt){ zoomed += amt * 2; + size += amt * 10; + + if(ps.mouseX < 25 && ps.mouseY < 25){ + ps.resize(size, size); + ps.background([0,0,0,1]); + } +} + +function mousePressed(){ + curCoords[0] = ps.mouseX; + curCoords[1] = ps.mouseY; + buttonDown = true; +} + +function mouseReleased(){ + buttonDown = false; } function render() { + var deltaX = ps.mouseX - curCoords[0]; + var deltaY = ps.mouseY - curCoords[1]; + + if(buttonDown){ + rot[0] += deltaX / 250; + rot[1] += deltaY / 250; + curCoords[0] = ps.mouseX; + curCoords[1] = ps.mouseY; + } + // transform point cloud ps.translate(0,0,zoomed); - ps.rotateY(rot+=0.01); + + ps.rotateY(rot[0]); + ps.rotateX(rot[1]); // redraw ps.clear(); ps.render(); - - window.status = Math.floor(ps.frameRate); } function start(){ ps = new PointStream(); ps.setup(document.getElementById('canvas'), render); - ps.background([.2,.5,.7,1]); + ps.background([0.3,0.5,0.7,1]); ps.onMouseScroll = zoom; + ps.onMousePressed = mousePressed; + ps.onMouseReleased = mouseReleased; ps.loadFile({path:"mickey.asc", autoCenter: true}); }