summaryrefslogtreecommitdiffhomepage
path: root/camera.rb
diff options
context:
space:
mode:
Diffstat (limited to 'camera.rb')
-rw-r--r--camera.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/camera.rb b/camera.rb
index 7e93f7e..be1e3f0 100644
--- a/camera.rb
+++ b/camera.rb
@@ -1,5 +1,23 @@
class Camera
+
+ def self.zoom_level
+ @zoom_level ||= 1
+ end
+
+ def self.zoom_by zoom
+ objects.each do |object|
+ object.size *= zoom
+ object.x *= zoom
+ object.y *= zoom
+ end
+ self.move_by(Window.width/2 * (zoom-1),Window.height/2 * (zoom-1))
+ self.zoom_level *= zoom
+ end
+
+ def self.zoom_to zoom
+ self.zoom_by(zoom/self.zoom_level)
+ end
def self.elasticity
@elasticity ||= 1
@@ -61,5 +79,9 @@ class Camera
@camera_position = array
end
+ def self.zoom_level= value
+ @zoom_level = value
+ end
+
end