From b1eba76afaf7a506ff912634da6220db15d0023e Mon Sep 17 00:00:00 2001 From: metamuffin Date: Sun, 21 Jul 2024 17:44:23 +0200 Subject: pixel: interpolate interact target position --- pixel-client/src/game.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'pixel-client/src') diff --git a/pixel-client/src/game.rs b/pixel-client/src/game.rs index c9253e1f..90711c48 100644 --- a/pixel-client/src/game.rs +++ b/pixel-client/src/game.rs @@ -67,6 +67,7 @@ pub struct Player { item: Option, _name: String, _character: i32, + interact_target_anim: Vec2, } pub struct Item { @@ -158,6 +159,11 @@ impl Game { self.network.queue_out.push_back(movement_packet); } + player.interact_target_anim.exp_to( + player.movement.get_interact_target().as_vec2() + Vec2::new(0., -0.4), + dt * 20., + ); + self.camera_center.exp_to(player.movement.position, dt * 5.); } @@ -236,6 +242,7 @@ impl Game { self.players.insert( id, Player { + interact_target_anim: position, _character: character, _name: name, item: None, @@ -344,11 +351,10 @@ impl Game { self.tilemap.draw(ctx); if let Some(me) = self.players.get(&self.my_id) { - let t = me.movement.get_interact_target(); ctx.draw_world( self.misc_textures .interact_target - .at(t.as_vec2()) + .at(me.interact_target_anim) .tint(100, 100, 255), ) } -- cgit v1.2.3-70-g09d2