diff --git a/Cargo.lock b/Cargo.lock index 91bb56d..2396d32 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1333,6 +1333,7 @@ dependencies = [ "parking_lot 0.12.1", "stdweb", "thiserror", + "wasm-bindgen", "web-sys", "windows", ] diff --git a/Cargo.toml b/Cargo.toml index 22905a7..c0de684 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,6 +24,7 @@ serde_json = "1.0.85" ticktock = "0.8.0" [target."cfg(target_arch = \"wasm32\")".dependencies] +cpal = { version = "0.14.0", features = ["wasm-bindgen"] } [profile.dev.package."*"] opt-level = 3 diff --git a/src/game.rs b/src/game.rs index eba3d44..102a44e 100644 --- a/src/game.rs +++ b/src/game.rs @@ -471,13 +471,15 @@ fn move_camera( let size: Vec2 = camera.logical_viewport_size().unwrap(); let half_height: f32 = size.y * 0.5; + let mut target_translation = character_transform.translation; + // prevent camera from going too low + target_translation.y = target_translation.y.max(half_height - MARGIN); + camera_transform.translation = camera_transform.translation.lerp( - character_transform.translation, + target_translation, time.delta_seconds() * FOLLOW_SPEED, ); - // prevent camera from going too low - camera_transform.translation.y = camera_transform.translation.y.max(half_height - MARGIN); // always make sure that camera is away from the object in order to render them camera_transform.translation.z = 999.0; }