color and sound display now
This commit is contained in:
20
src/main.rs
20
src/main.rs
@@ -38,7 +38,7 @@ enum Message {
|
||||
struct MyApp {
|
||||
poly_frame: PolygonFrame,
|
||||
time_last_frame: Instant,
|
||||
nb_sec_for_rev: u32,
|
||||
nb_sec_for_rev: f32,
|
||||
audio_manager: AudioManager,
|
||||
default_sound: StaticSoundData,
|
||||
}
|
||||
@@ -50,7 +50,7 @@ impl MyApp {
|
||||
let sound_data = StaticSoundData::from_file("assets/tick.ogg").expect("Fail to load audio");
|
||||
(
|
||||
Self {
|
||||
nb_sec_for_rev: 4,
|
||||
nb_sec_for_rev: 4.0,
|
||||
time_last_frame: Instant::now(),
|
||||
audio_manager: manager,
|
||||
default_sound: sound_data.clone(),
|
||||
@@ -67,10 +67,10 @@ impl MyApp {
|
||||
}
|
||||
fn update(&mut self, message: Message) {
|
||||
match message {
|
||||
Message::ButtonPressedIncrement => self.nb_sec_for_rev += 1,
|
||||
Message::ButtonPressedIncrement => self.nb_sec_for_rev += 0.5,
|
||||
Message::ButtonPressedDecrement => {
|
||||
if self.nb_sec_for_rev > 1 {
|
||||
self.nb_sec_for_rev -= 1;
|
||||
if self.nb_sec_for_rev > 0.5 {
|
||||
self.nb_sec_for_rev -= 0.5;
|
||||
}
|
||||
}
|
||||
Message::AddPolygon(s) => {
|
||||
@@ -168,16 +168,18 @@ impl MyApp {
|
||||
_ => c = Color::BLACK,
|
||||
}
|
||||
self.poly_frame.polygons[i].color = c;
|
||||
self.poly_frame.polygons[i].color_name = s;
|
||||
}
|
||||
Message::ChangeSound(i, s) => {
|
||||
self.poly_frame.polygons[i].sound =
|
||||
StaticSoundData::from_file(s).expect("Fail to load audio")
|
||||
StaticSoundData::from_file(&s).expect("Fail to load audio");
|
||||
self.poly_frame.polygons[i].sound_name = s;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn view(&self) -> iced::Element<Message> {
|
||||
let txt_nb_rev = format!("Revolution per second : {}", self.nb_sec_for_rev);
|
||||
let txt_nb_rev = format!("Number of second for revolution : {}", self.nb_sec_for_rev);
|
||||
|
||||
let mut i = 0;
|
||||
//Create all polygon options
|
||||
@@ -205,10 +207,10 @@ impl MyApp {
|
||||
["Black", "Blue", "Green", "Pink", "Yellow", "Cyan"]
|
||||
.map(|s| s.to_string())
|
||||
.to_vec(),
|
||||
Some("Color".to_string()),
|
||||
Some(&polygon.color_name),
|
||||
move |s| { Message::ChangeColor(current_index, s) }
|
||||
),
|
||||
pick_list(entries, Some("Sound".to_string()), move |s| {
|
||||
pick_list(entries, Some(&polygon.sound_name), move |s| {
|
||||
Message::ChangeSound(current_index, s)
|
||||
}),
|
||||
]
|
||||
|
||||
@@ -107,8 +107,10 @@ pub struct Polygon {
|
||||
pub global_teta: f32,
|
||||
pub points_teta: Vec<f32>,
|
||||
pub sound: StaticSoundData,
|
||||
pub sound_name: String,
|
||||
pub name: String,
|
||||
pub color: Color,
|
||||
pub color_name: String,
|
||||
}
|
||||
#[warn(dead_code)]
|
||||
impl Polygon {
|
||||
@@ -138,6 +140,8 @@ impl Polygon {
|
||||
global_teta: teta,
|
||||
points_teta: v,
|
||||
sound: sound,
|
||||
sound_name: "./assets/tick.ogg".to_string(),
|
||||
color_name: "Black".to_string(),
|
||||
name: "".to_string(),
|
||||
color: Color::BLACK,
|
||||
}
|
||||
@@ -160,6 +164,8 @@ impl Polygon {
|
||||
name: "".to_string(),
|
||||
color: Color::BLACK,
|
||||
global_teta: teta,
|
||||
sound_name: "./assets/tick.ogg".to_string(),
|
||||
color_name: "Black".to_string(),
|
||||
points_teta: vec![
|
||||
2.0 * 5.0 * PI / 30.0,
|
||||
2.0 * 6.0 * PI / 30.0,
|
||||
@@ -175,6 +181,8 @@ impl Polygon {
|
||||
sound: sound,
|
||||
name: "".to_string(),
|
||||
color: Color::BLACK,
|
||||
sound_name: "./assets/tick.ogg".to_string(),
|
||||
color_name: "Black".to_string(),
|
||||
global_teta: teta,
|
||||
points_teta: vec![
|
||||
0.0,
|
||||
@@ -192,6 +200,8 @@ impl Polygon {
|
||||
sound: sound,
|
||||
name: "".to_string(),
|
||||
color: Color::BLACK,
|
||||
sound_name: "./assets/tick.ogg".to_string(),
|
||||
color_name: "Black".to_string(),
|
||||
global_teta: teta,
|
||||
points_teta: vec![
|
||||
2.0 * PI / 30.0,
|
||||
@@ -210,6 +220,8 @@ impl Polygon {
|
||||
sound: sound,
|
||||
name: "".to_string(),
|
||||
color: Color::BLACK,
|
||||
sound_name: "./assets/tick.ogg".to_string(),
|
||||
color_name: "Black".to_string(),
|
||||
global_teta: teta,
|
||||
points_teta: vec![
|
||||
0.0,
|
||||
@@ -229,6 +241,8 @@ impl Polygon {
|
||||
sound: sound,
|
||||
name: "".to_string(),
|
||||
color: Color::BLACK,
|
||||
sound_name: "./assets/tick.ogg".to_string(),
|
||||
color_name: "Black".to_string(),
|
||||
global_teta: teta,
|
||||
points_teta: vec![
|
||||
2.0 * 3.0 * PI / 42.0,
|
||||
@@ -247,6 +261,8 @@ impl Polygon {
|
||||
sound: sound,
|
||||
name: "".to_string(),
|
||||
color: Color::BLACK,
|
||||
sound_name: "./assets/tick.ogg".to_string(),
|
||||
color_name: "Black".to_string(),
|
||||
global_teta: teta,
|
||||
points_teta: vec![
|
||||
0.0,
|
||||
@@ -266,6 +282,8 @@ impl Polygon {
|
||||
sound: sound,
|
||||
name: "".to_string(),
|
||||
color: Color::BLACK,
|
||||
sound_name: "./assets/tick.ogg".to_string(),
|
||||
color_name: "Black".to_string(),
|
||||
global_teta: teta,
|
||||
points_teta: vec![
|
||||
2.0 * 6.0 * PI / 42.0,
|
||||
@@ -286,6 +304,8 @@ impl Polygon {
|
||||
sound: sound,
|
||||
name: "".to_string(),
|
||||
color: Color::BLACK,
|
||||
sound_name: "./assets/tick.ogg".to_string(),
|
||||
color_name: "Black".to_string(),
|
||||
global_teta: teta,
|
||||
points_teta: vec![
|
||||
0.0,
|
||||
|
||||
Reference in New Issue
Block a user