diff --git a/assets/laserSmall_001.ogg b/assets/laserSmall_001.ogg new file mode 100644 index 0000000..ffc89b9 Binary files /dev/null and b/assets/laserSmall_001.ogg differ diff --git a/src/lib.rs b/src/lib.rs index f9c0c54..94b5b77 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -199,6 +199,8 @@ fn input_ship_shoot( MeshMaterial2d(game_assets.bullet().1), ship_pos.clone(), // clone ship transform Lifetime(Timer::from_seconds(BULLET_LIFETIME, TimerMode::Once)), + AudioPlayer::new(game_assets.laser_sound()), + PlaybackSettings::ONCE, // `Lifetime` already despawns the entity, so this doesn't need to )); } } diff --git a/src/resources.rs b/src/resources.rs index fa2cfa2..4620298 100644 --- a/src/resources.rs +++ b/src/resources.rs @@ -58,7 +58,7 @@ impl Default for WorldSize { pub struct GameAssets { meshes: [Handle; 5], materials: [Handle; 7], - sounds: [Handle; 1], + sounds: [Handle; 2], } impl GameAssets { @@ -101,6 +101,10 @@ impl GameAssets { pub fn wreck_sound(&self) -> Handle { self.sounds[0].clone() } + + pub fn laser_sound(&self) -> Handle { + self.sounds[1].clone() + } } impl FromWorld for GameAssets { @@ -129,7 +133,10 @@ impl FromWorld for GameAssets { world_materials.add(BULLET_COLOR), ]; let loader = world.resource_mut::(); - let sounds = [loader.load("explosionCrunch_004.ogg")]; + let sounds = [ + loader.load("explosionCrunch_004.ogg"), + loader.load("laserSmall_001.ogg") + ]; GameAssets { meshes, materials,