diff --git a/projet-code/scenes_inf443/base/src/ball.cpp b/projet-code/scenes_inf443/base/src/ball.cpp index b6fcb67d05fda71b1f77713c265103b0b1d57468..7a32f47a14d6d24b5c201a2fac0bd80585c1db76 100644 --- a/projet-code/scenes_inf443/base/src/ball.cpp +++ b/projet-code/scenes_inf443/base/src/ball.cpp @@ -18,6 +18,13 @@ void ball::initialize(int n) } } +void ball::reset() { + N = 0; + pos.resize(N); + v.resize(N); + color.resize(N); +} + void ball::add_ball(vec3 new_pos, vec3 new_dir) { N++; pos.resize(N); diff --git a/projet-code/scenes_inf443/base/src/ball.hpp b/projet-code/scenes_inf443/base/src/ball.hpp index c1fa9673f41c1fd7ccb5882173400f49a3a1a1e9..1e8fd587b611b8f5e9bedbbbd00e12351c533d54 100644 --- a/projet-code/scenes_inf443/base/src/ball.hpp +++ b/projet-code/scenes_inf443/base/src/ball.hpp @@ -16,6 +16,7 @@ struct ball { void initialize(int n); void simulate(float dt, float terrain_length); void add_ball(vec3 new_pos, vec3 new_dir); + void reset(); }; vec3 terrain_orientation(float x, float y, float terrain_length); diff --git a/projet-code/scenes_inf443/base/src/scene.cpp b/projet-code/scenes_inf443/base/src/scene.cpp index 7278b0fd5881c095c9ac9f8d3348faf46eee77e1..25028730d6e2b54609fbb4c4309f9befcbee54b6 100644 --- a/projet-code/scenes_inf443/base/src/scene.cpp +++ b/projet-code/scenes_inf443/base/src/scene.cpp @@ -381,6 +381,9 @@ void scene_structure::mouse_click_event() void scene_structure::keyboard_event() { camera_control.action_keyboard(environment.camera_view); + if(camera_control.inputs->keyboard.shift) { + projectiles.reset(); + } } void scene_structure::idle_frame() {