summaryrefslogtreecommitdiff
path: root/assets/javascripts/rectangles/map
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2014-04-18 14:42:01 -0400
committerJules Laplace <jules@okfoc.us>2014-04-18 14:42:01 -0400
commitc780419e05bddf80b09e3091634361f289666f35 (patch)
tree0c3da34fbb443938672d92aaed22b1639345ca54 /assets/javascripts/rectangles/map
parentb67e1e3c83e06fe7b5dfa4fa75f714121c02ce50 (diff)
camera cursor
Diffstat (limited to 'assets/javascripts/rectangles/map')
-rw-r--r--assets/javascripts/rectangles/map/_map.js1
-rw-r--r--assets/javascripts/rectangles/map/draw.js23
-rw-r--r--assets/javascripts/rectangles/map/ui.js9
3 files changed, 30 insertions, 3 deletions
diff --git a/assets/javascripts/rectangles/map/_map.js b/assets/javascripts/rectangles/map/_map.js
index b0d0b60..846c73c 100644
--- a/assets/javascripts/rectangles/map/_map.js
+++ b/assets/javascripts/rectangles/map/_map.js
@@ -27,6 +27,7 @@ var map = new function(){
map.draw.regions(clipper.regions)
map.draw.mouse(map.ui.mouse.cursor)
+ scene && map.draw.camera(scene.camera)
ctx.restore()
}
diff --git a/assets/javascripts/rectangles/map/draw.js b/assets/javascripts/rectangles/map/draw.js
index 1dcd1ae..1fca4b9 100644
--- a/assets/javascripts/rectangles/map/draw.js
+++ b/assets/javascripts/rectangles/map/draw.js
@@ -44,6 +44,29 @@ map.draw = new function(){
}
}
}
+
+ base.camera = function(cam){
+ ctx.lineWidth = 0.5
+
+ ctx.save()
+
+ ctx.translate(cam.x, cam.z)
+ ctx.rotate(cam.rotationY)
+
+ var radius = 3 / map.zoom
+
+ ctx.fillStyle = '#888';
+
+ ctx.beginPath();
+ ctx.moveTo(0,0)
+ ctx.lineTo(-radius,-radius/2)
+ ctx.lineTo(0,radius*3)
+ ctx.lineTo(radius,-radius/2)
+ ctx.moveTo(0,0)
+ ctx.fill()
+
+ ctx.restore()
+ }
//
diff --git a/assets/javascripts/rectangles/map/ui.js b/assets/javascripts/rectangles/map/ui.js
index 6560695..f08cae0 100644
--- a/assets/javascripts/rectangles/map/ui.js
+++ b/assets/javascripts/rectangles/map/ui.js
@@ -25,10 +25,13 @@ map.ui = new function(){
function down (e, cursor){
cursor.x.div(map.zoom).add( map.center.a + map.bounds.a/2 )
cursor.y.div(map.zoom).add( -map.center.b - map.bounds.b/2 )
-
+console.log(cursor+"")
if (e.ctrlKey || e.which === 3) {
- map.center.a = cursor.x.b = cursor.x.a + map.bounds.a/2
- map.center.b = cursor.y.b = cursor.y.a + map.bounds.b
+ map.center.a = cursor.x.a + map.bounds.a * map.zoom
+ map.center.b = -cursor.y.a + map.bounds.b * map.zoom
+ console.log(map.center+"")
+ cursor.x.b = cursor.x.a
+ cursor.y.b = cursor.y.a
base.mouse.down = false
e.preventDefault()
e.stopPropagation()