diff options
| author | realtradam <[email protected]> | 2021-01-20 22:25:54 -0500 |
|---|---|---|
| committer | realtradam <[email protected]> | 2021-01-20 22:25:54 -0500 |
| commit | 178a62eb3b0244f975ec24eb28520d23349e3dfc (patch) | |
| tree | d4bf34791590bc9150f59a54b752504590571519 /camera.rb | |
| parent | ba1392414af9c18779c386af4f67325c546d9025 (diff) | |
| download | ruby2d-camera-178a62eb3b0244f975ec24eb28520d23349e3dfc.tar.gz ruby2d-camera-178a62eb3b0244f975ec24eb28520d23349e3dfc.zip | |
added camera zoom
Diffstat (limited to 'camera.rb')
| -rw-r--r-- | camera.rb | 22 |
1 files changed, 22 insertions, 0 deletions
@@ -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 |
