     )
 
   cameraPan: (options) ->
-    #@shakes.push(
-      #amount: amount
-      #duration: duration
-      #shakes: Math.ceil(duration / 100)
-      #easing: new Crafty.easing(duration, 'linear')
-      #startX: if Math.random() > 0.5 then -1 else 1
-      #startY: if Math.random() > 0.5 then -1 else 1
-      #coords: (v) ->
-        #shake = Math.cos((Math.PI / 2) + (v * @shakes * (Math.PI / 2)))
-        #[
-          #shake * amount * @startX
-          #shake * amount * @startY
-        #]
-    #)
+    @motions.push(
+      easing: new Crafty.easing(options.duration, 'easeInOutQuad')
+      x: options.x ? 0
+      y: options.y ? 0
+      coords: (v) ->
+        [@x * v, @y * v]
+    )
 
   scrollWall: (speed) ->
     if speed.x? && speed.y?

        xShift += coords[0]
        yShift += coords[1]
        @shakes.splice(index, 1) if shake.easing.complete
      x = @x + xShift
      y = @y + yShift


  init: ->
    @requires('2D, Edge, Collision')
    @shakes = []
    @motions = []
    @attr
      x: 0
      y: 0
