From 178a62eb3b0244f975ec24eb28520d23349e3dfc Mon Sep 17 00:00:00 2001 From: realtradam Date: Wed, 20 Jan 2021 22:25:54 -0500 Subject: added camera zoom --- camera.rb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'camera.rb') 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 -- cgit v1.2.3