diff --git a/Cargo.lock b/Cargo.lock index f26df36..8c1947b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1312,6 +1312,7 @@ dependencies = [ "parking_lot 0.12.1", "stdweb", "thiserror", + "wasm-bindgen", "web-sys", "windows", ] diff --git a/Cargo.toml b/Cargo.toml index df12e56..cb38147 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,6 +22,7 @@ hexodsp = { git = "https://github.com/WeirdConstructor/HexoDSP", default-feature 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; }