diff options
| author | Jules Laplace <jules@okfoc.us> | 2014-04-18 14:42:01 -0400 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2014-04-18 14:42:01 -0400 |
| commit | c780419e05bddf80b09e3091634361f289666f35 (patch) | |
| tree | 0c3da34fbb443938672d92aaed22b1639345ca54 | |
| parent | b67e1e3c83e06fe7b5dfa4fa75f714121c02ce50 (diff) | |
camera cursor
| -rw-r--r-- | assets/javascripts/app.js | 2 | ||||
| -rw-r--r-- | assets/javascripts/environments/app.js | 2 | ||||
| -rw-r--r-- | assets/javascripts/mx/extensions/mx.movements.js | 4 | ||||
| -rw-r--r-- | assets/javascripts/rectangles/_env.js | 3 | ||||
| -rw-r--r-- | assets/javascripts/rectangles/map/_map.js | 1 | ||||
| -rw-r--r-- | assets/javascripts/rectangles/map/draw.js | 23 | ||||
| -rw-r--r-- | assets/javascripts/rectangles/map/ui.js | 9 |
7 files changed, 36 insertions, 8 deletions
diff --git a/assets/javascripts/app.js b/assets/javascripts/app.js index 05f7455..b6c484c 100644 --- a/assets/javascripts/app.js +++ b/assets/javascripts/app.js @@ -15,7 +15,7 @@ var scene, cam, map; -var viewHeight = window.viewHeight || 550 +var viewHeight = window.viewHeight || 100 var app = new function(){} app.dragging = false diff --git a/assets/javascripts/environments/app.js b/assets/javascripts/environments/app.js index 4a4ccd6..cdc104b 100644 --- a/assets/javascripts/environments/app.js +++ b/assets/javascripts/environments/app.js @@ -1,7 +1,5 @@ var scrubber, fish, floor -viewHeight = 400 - var environment = new function(){} environment.init = function(){ diff --git a/assets/javascripts/mx/extensions/mx.movements.js b/assets/javascripts/mx/extensions/mx.movements.js index 97aff02..8c20909 100644 --- a/assets/javascripts/mx/extensions/mx.movements.js +++ b/assets/javascripts/mx/extensions/mx.movements.js @@ -15,7 +15,7 @@ MX.Movements = function (cam, viewHeight) { jumping = false, creeping = false, locked = false, - gravity = false + gravity = true var v = 20, vr = Math.PI * 0.015 @@ -259,6 +259,6 @@ MX.Movements = function (cam, viewHeight) { lock: function(){ locked = true }, unlock: function(){ locked = false }, scale: function(n){ if (n) scale = n; return scale }, - resetScale: function(n){ scale = DEFAULT_SCALE } + resetScale: function(n){ scale = DEFAULT_SCALE }, } } diff --git a/assets/javascripts/rectangles/_env.js b/assets/javascripts/rectangles/_env.js index 463fb3e..145806e 100644 --- a/assets/javascripts/rectangles/_env.js +++ b/assets/javascripts/rectangles/_env.js @@ -8,6 +8,9 @@ environment.init = function(){ "rotationX": PI/2, "rotationY": PI }) + + map.center.a = scene.camera.x + map.center.b = scene.camera.z clipper.rooms.push( new room ({ rect: new rect(-100,-100, 100,100), 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() |
