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 /animator.rb | |
| parent | ba1392414af9c18779c386af4f67325c546d9025 (diff) | |
| download | ruby2d-camera-178a62eb3b0244f975ec24eb28520d23349e3dfc.tar.gz ruby2d-camera-178a62eb3b0244f975ec24eb28520d23349e3dfc.zip | |
added camera zoom
Diffstat (limited to 'animator.rb')
| -rw-r--r-- | animator.rb | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/animator.rb b/animator.rb index c2640f6..9fae771 100644 --- a/animator.rb +++ b/animator.rb @@ -16,6 +16,7 @@ class AnimatedSquare def x= x @square.x = x end + def y @square.y end @@ -23,18 +24,31 @@ class AnimatedSquare @square.y = y end + def size + @square.size + end + def size= size + @square.size = size + end + - def update offset + def update(offset, zoom) + width_zoom_offset = Window.width/2 * (zoom-1) + height_zoom_offset = Window.height/2 * (zoom-1) if @axis == 0 - @square.x += @speed - if @square.x > (@range[1] - offset[0]) or @square.x < (@range[0] - offset[0]) - @speed = -@speed + @square.x += @speed * zoom + if @square.x >= ((@range[1] - offset[0])) + @speed = -(@speed.abs) + elsif @square.x <= ((@range[0] - offset[0])) + @speed = @speed.abs end else - @square.y += @speed - if @square.y > (@range[1] - offset[1]) or @square.y < (@range[0] - offset[1]) - @speed = -@speed + @square.y += @speed * zoom + if @square.y >= ((@range[1] - offset[1])) + @speed = -(@speed.abs) + elsif @square.y <= ((@range[0] - offset[1])) + @speed = @speed.abs end end end |
