diff options
Diffstat (limited to 'app/systems/update_boid_sprite.rb')
| -rw-r--r-- | app/systems/update_boid_sprite.rb | 10 |
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 ) |
