summaryrefslogtreecommitdiff
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
parentb67e1e3c83e06fe7b5dfa4fa75f714121c02ce50 (diff)
camera cursor
-rw-r--r--assets/javascripts/app.js2
-rw-r--r--assets/javascripts/environments/app.js2
-rw-r--r--assets/javascripts/mx/extensions/mx.movements.js4
-rw-r--r--assets/javascripts/rectangles/_env.js3
-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
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()