diff options
author | metamuffin <metamuffin@disroot.org> | 2024-06-21 00:36:29 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-06-23 19:24:39 +0200 |
commit | 4f19a2cd91b099dc2e0d6c673d853befc7044340 (patch) | |
tree | 4bce3019ae7b842034ff03362b01236fe364ab3a | |
parent | a1f6b4f47e7aca167e71311d55c3e9a18f4cbff7 (diff) | |
download | hurrycurry-4f19a2cd91b099dc2e0d6c673d853befc7044340.tar hurrycurry-4f19a2cd91b099dc2e0d6c673d853befc7044340.tar.bz2 hurrycurry-4f19a2cd91b099dc2e0d6c673d853befc7044340.tar.zst |
smooth other player's positions
-rw-r--r-- | test-client/main.ts | 8 | ||||
-rw-r--r-- | test-client/visual.ts | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/test-client/main.ts b/test-client/main.ts index 9a7e41a4..84dfd555 100644 --- a/test-client/main.ts +++ b/test-client/main.ts @@ -54,7 +54,8 @@ export interface PlayerData { item?: ItemData, facing: V2, character: number, - vel: { x: number, y: number }, + anim_position: V2, + vel: V2, message?: Message, } export interface TileData { @@ -93,6 +94,7 @@ function packet(p: PacketC) { character: p.character, name: p.name, rot: 0, + anim_position: { x: 0, y: 1 }, facing: { x: 0, y: 1 }, vel: { x: 0, y: 0 }, }) @@ -215,7 +217,9 @@ function frame_update(dt: number) { const update_item = (item: ItemData) => { if (item.tracking) lerp_exp_v2_mut(item, item.tracking, dt * 10.) } - for (const [_, player] of players) { + for (const [pid, player] of players) { + if (pid == my_id) player.anim_position.x = player.x, player.anim_position.y = player.y + else lerp_exp_v2_mut(player.anim_position, player, dt * 15) if (player.item !== undefined && player.item !== null) update_item(player.item) } for (const [_, tile] of tiles) { diff --git a/test-client/visual.ts b/test-client/visual.ts index 2b98561a..54c979da 100644 --- a/test-client/visual.ts +++ b/test-client/visual.ts @@ -48,7 +48,7 @@ export function draw_ingame() { for (const [_, player] of players) { { ctx.save() - ctx.translate(player.x, player.y) + ctx.translate(player.anim_position.x, player.anim_position.y) { ctx.save() ctx.rotate(-player.rot) |