Skip to content

Commit 0180538

Browse files
committed
Add music
1 parent 4e69c76 commit 0180538

6 files changed

Lines changed: 135 additions & 5 deletions

File tree

Cargo.lock

Lines changed: 97 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ version = "0.1.0"
44
edition = "2024"
55

66
[dependencies]
7-
macroquad = "0.4.13"
7+
macroquad = { version = "0.4.13", features = ["audio"] }

res/music/music.ogg

1.58 MB
Binary file not shown.

src/control.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,26 @@ impl ControlHandler {
3434
self.handle_ghost_obj(dt);
3535

3636
self.control_state = match self.control_state {
37-
ControlState::Idle => self.handle_idle(renderer, objects),
37+
ControlState::Idle => self.handle_idle(renderer, physics_handler, objects),
3838
ControlState::Place => self.handle_place(renderer),
3939
ControlState::Drag => self.handle_drag(renderer, physics_handler, objects),
4040
};
4141
}
4242

43-
fn handle_idle(&mut self, renderer: &mut Renderer, objects: &mut ObjectPool) -> ControlState {
43+
fn handle_idle(
44+
&mut self,
45+
renderer: &mut Renderer,
46+
physics_handler: &PhysicsHandler,
47+
objects: &mut ObjectPool,
48+
) -> ControlState {
4449
if let Some(obj) = self.get_hovered_obj(renderer, objects) {
4550
let color = Color {
4651
a: 0.2,
4752
..obj.color
4853
};
4954

5055
renderer.draw_halo(obj.position, obj.radius * 1.1, Some(color));
56+
obj.draw_path(objects, renderer, physics_handler, 5000, 10);
5157
}
5258

5359
if is_key_released(KeyCode::R) {
@@ -153,7 +159,7 @@ impl ControlHandler {
153159
obj.mass += self.scale_speed * dt;
154160
obj.radius += self.scale_speed * dt;
155161
}
156-
if is_key_down(KeyCode::Down) {
162+
if is_key_down(KeyCode::Down) && obj.mass > 0.3 {
157163
obj.mass -= self.scale_speed * dt;
158164
obj.radius -= self.scale_speed * dt;
159165
}

src/main.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use gravity_sim::object::Object;
22
use gravity_sim::world::World;
3+
use macroquad::audio::{load_sound, play_sound, PlaySoundParams};
34
use macroquad::prelude::*;
45

56
const WINDOW_TITLE: &str = "Gravity Sim";
@@ -18,6 +19,17 @@ const BG_COLOR: Color = Color {
1819
async fn main() {
1920
let mut world = World::default();
2021
world.objects.push(Object::default());
22+
let st = load_sound("res/music/music.ogg")
23+
.await
24+
.expect("Failed to load audio file");
25+
26+
play_sound(
27+
&st,
28+
PlaySoundParams {
29+
looped: true,
30+
volume: 0.35,
31+
},
32+
);
2133

2234
loop {
2335
clear_background(BG_COLOR);

src/renderer.rs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,22 @@ impl Renderer {
4343
pub fn begin_drawing(&self) {
4444
set_camera(&self.cam);
4545

46-
draw_grid(1000, 5.0, WHITE, GRAY);
46+
draw_grid(
47+
1_000,
48+
5.,
49+
Color {
50+
r: 0.8,
51+
g: 1.,
52+
b: 1.,
53+
a: 0.2,
54+
},
55+
Color {
56+
r: 0.5,
57+
g: 1.,
58+
b: 1.,
59+
a: 0.1,
60+
},
61+
);
4762
}
4863

4964
pub fn end_drawing(&self) {

0 commit comments

Comments
 (0)