summaryrefslogtreecommitdiffhomepage
path: root/app/systems/update_boid_sprite.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/systems/update_boid_sprite.rb')
-rw-r--r--app/systems/update_boid_sprite.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/app/systems/update_boid_sprite.rb b/app/systems/update_boid_sprite.rb
index b89579d..4f7dc76 100644
--- a/app/systems/update_boid_sprite.rb
+++ b/app/systems/update_boid_sprite.rb
@@ -1,13 +1,17 @@
FF::Scn::Render.add(
- FF::Sys.new('UpdateBoidSprite', priority: 98) do
+ # Update the position of the boid sprite before
+ # the camera and before its rendered
+ FF::Sys.new('UpdateBoidSprite', priority: 95) do
FF::Cmp::Boid.each do |boid|
sprite = boid.entities[0].components[FF::Cmp::Sprite][0]
- sprite.props[:x] = boid.x - sprite.props[:w] / 2
- sprite.props[:y] = boid.y - sprite.props[:h] / 2
+ sprite.props[:x] = boid.x - boid.h / 2
+ sprite.props[:y] = boid.y - boid.w / 2
diff_angle = (((Math.atan2(boid.vy, boid.vx) * 180.0) / Math::PI).round(3) - 90) - sprite.props[:angle]
diff_angle = (diff_angle + 180) % 360 - 180
sprite.props[:angle] += diff_angle
+ sprite.props[:w] = boid.w
+ sprite.props[:h] = boid.h
end
end
)