summaryrefslogtreecommitdiff
path: root/pixel-client/src
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-07-21 17:44:23 +0200
committermetamuffin <metamuffin@disroot.org>2024-07-21 22:17:54 +0200
commitb1eba76afaf7a506ff912634da6220db15d0023e (patch)
tree054ab1fc9a5657eb6cffde3a7767e538e046003f /pixel-client/src
parentb52e399a6f4b25383f8876b38cfee6364c677cd9 (diff)
downloadhurrycurry-b1eba76afaf7a506ff912634da6220db15d0023e.tar
hurrycurry-b1eba76afaf7a506ff912634da6220db15d0023e.tar.bz2
hurrycurry-b1eba76afaf7a506ff912634da6220db15d0023e.tar.zst
pixel: interpolate interact target position
Diffstat (limited to 'pixel-client/src')
-rw-r--r--pixel-client/src/game.rs10
1 files changed, 8 insertions, 2 deletions
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<Item>,
_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),
)
}