summaryrefslogtreecommitdiffhomepage
path: root/run.rb
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2021-01-25 00:09:51 -0500
committerrealtradam <[email protected]>2021-01-25 00:09:51 -0500
commitc1476cb451e93a54df8521ad5572732539f345dd (patch)
tree2379fb6d3c1d5bd6f2cd667421f8f2604f6c520c /run.rb
parentb3c67e70aa97c6ad6176917427b5a192b407dbd6 (diff)
downloadruby2d-camera-old-c1476cb451e93a54df8521ad5572732539f345dd.tar.gz
ruby2d-camera-old-c1476cb451e93a54df8521ad5572732539f345dd.zip
finished implementing quads
Diffstat (limited to 'run.rb')
-rw-r--r--run.rb35
1 files changed, 22 insertions, 13 deletions
diff --git a/run.rb b/run.rb
index 87d430a..5149f89 100644
--- a/run.rb
+++ b/run.rb
@@ -5,7 +5,11 @@ require_relative 'camera'
require_relative 'animator'
@background = Image.new('assets/background.png')
-@player = Image.new('assets/player.png')
+#@player = Image.new('assets/player.png')
+@player = Quad.new(x1: 0, y1: 0,
+ x2: 20, y2: 0,
+ x3: 20, y3: 20,
+ x4: 0, y4: 20)
@squares = []
# Use this to add a few extra methods to an Image
@@ -21,7 +25,7 @@ module SizableImage
end
@background.extend SizableImage
[email protected] SizableImage
+#@player.extend SizableImage
# There is 2 ways you can add objects to be known and controlled by the camera, both do the same thing
Camera << @background
@@ -76,16 +80,16 @@ Rectangle.new(
on :key do |event|
if event.key == 'a'
- @x_move -= @speed * Camera.zoom_level
+ @x_move -= @speed
end
if event.key == 'd'
- @x_move += @speed * Camera.zoom_level
+ @x_move += @speed
end
if event.key == 'w'
- @y_move -= @speed * Camera.zoom_level
+ @y_move -= @speed
end
if event.key == 's'
- @y_move += @speed * Camera.zoom_level
+ @y_move += @speed
end
if event.key == 'j'
@cam_x_move -= @speed
@@ -119,13 +123,15 @@ on :key do |event|
Camera.zoom_to 1
end
end
-@quad = Quad.new(x1: 100, y1: 100,
- x2: 120, y2: 100,
- x3: 120, y3: 120,
- x4: 100, y4: 120)
+@quad = Quad.new(x1: 0, y1: 0,
+ x2: 20, y2: 0,
+ x3: 20, y3: 20,
+ x4: 0, y4: 20)
Camera << @quad
-
+@frame = 0
update do
+ @frame += 1
+ @frame %= 60
@player.x += @x_move
@player.y += @y_move
@x_move = 0
@@ -140,10 +146,13 @@ update do
@squares.each do |square|
square.update(Camera.camera_position, Camera.zoom_level)
end
-
+ @quad.x += 1
+ @quad.color = 'random' if @frame.zero?
# Alternating between follow and manual control
+ puts @player.x
+ puts @player.y
if @is_follow
- #Camera.follow @player
+ Camera.follow @player
else
Camera.move_by(@cam_x_move, @cam_y_move)
end