• R/O
  • SSH

silny-kombat: Commit

Mercurial repo for silny-kombat project


Commit MetaInfo

Révisionc7cab09b77f1640e4890071f49f74be81b1f4f60 (tree)
l'heure2023-01-16 02:51:03
AuteurSecT <grzegorzstarowicz@gmai...>
CommiterSecT

Message de Log

Refactoring - renderer

Change Summary

Modification

diff -r 527e222110e0 -r c7cab09b77f1 src/controller.rs
--- a/src/controller.rs Sun Jan 15 18:29:45 2023 +0100
+++ b/src/controller.rs Sun Jan 15 18:51:03 2023 +0100
@@ -27,6 +27,7 @@
2727 use sfml::window::{Key};
2828
2929 use crate::key_processing;
30+use crate::renderer::Renderer;
3031 //use crate::renderer::Renderer;
3132
3233 pub const TEXTURE_ARRAY_SIZE : usize = 6;
@@ -46,7 +47,8 @@
4647
4748 textures: &'a [ SfBox<Texture>; TEXTURE_ARRAY_SIZE],
4849
49- key_processor : KeyProcessor
50+ key_processor : KeyProcessor,
51+ myRenderer : Renderer
5052 }
5153
5254 impl<'a> Controller<'a> {
@@ -57,7 +59,8 @@
5759 character_a: None,
5860 character_b: None,
5961 textures,
60- key_processor : KeyProcessor::new()
62+ key_processor : KeyProcessor::new() ,
63+ myRenderer : Renderer::new()
6164 }
6265 }
6366
@@ -81,7 +84,7 @@
8184 //If True - queue interaction_event to character (for example "is_hit")
8285 //If False - CharacterX.sprite.update()
8386
84- let mut window = renderer::prepare_window();
87+ let mut window = self.myRenderer.prepare_window();
8588
8689
8790 let mut character_a: Character = Character ::new("Sub Zero", self.textures);
@@ -96,7 +99,7 @@
9699 background_sprite.set_texture(&self.textures[Texture_Ids::BACKGROUND as usize], true);
97100
98101
99- renderer::prepareSprites(& window, &mut character_a, &mut character_b, &mut background_sprite, ground_level);
102+ self.myRenderer.prepareSprites(& window, &mut character_a, &mut character_b, &mut background_sprite, ground_level);
100103
101104
102105 //let key_processor = KeyProcessor::new();
@@ -117,7 +120,7 @@
117120 self.key_processor.processKeyPress( &mut window, &mut character_a, &mut character_b, ground_level);
118121
119122
120- renderer::displayWindow(&mut window, &background_sprite, &character_a.char_sprite.sprite, &character_b.char_sprite.sprite);
123+ self.myRenderer.displayWindow(&mut window, &background_sprite, &character_a.char_sprite.sprite, &character_b.char_sprite.sprite);
121124
122125 //end main loop
123126 }
diff -r 527e222110e0 -r c7cab09b77f1 src/renderer.rs
--- a/src/renderer.rs Sun Jan 15 18:29:45 2023 +0100
+++ b/src/renderer.rs Sun Jan 15 18:51:03 2023 +0100
@@ -30,6 +30,61 @@
3030 }
3131 }
3232
33+pub struct Renderer {
34+
35+}
36+
37+impl Renderer{
38+ pub fn new() -> Self{
39+ Renderer {
40+
41+ }
42+ }
43+
44+ pub fn prepareSprites(&self, window : & RenderWindow , character_a: & mut Character, character_b: & mut Character, background_sprite : & mut Sprite, ground_level : f32)
45+ {
46+ character_a.char_sprite.sprite.set_scale(Vector2f::new(1.0, 1.0));
47+ character_b.char_sprite.sprite.set_scale(Vector2f::new(-1.0, 1.0));
48+
49+ character_a.char_sprite.sprite.set_position(Vector2f::new(0.0, ground_level + 0.0));
50+ character_b.char_sprite.sprite.set_position(Vector2f::new(600.0, ground_level + 0.0));
51+
52+
53+ let target_size: Vector2f = Vector2f::new(window.size().x as f32, window.size().y as f32);
54+ let mut scale_vect: Vector2f = Vector2f::new(target_size.x / background_sprite.local_bounds().width,
55+ target_size.y / background_sprite.local_bounds().height);
56+ background_sprite.set_scale(scale_vect);
57+ }
58+
59+ pub fn prepare_window(&self) -> RenderWindow {
60+ let context_settings = ContextSettings::default();
61+
62+ let game_width = 800;
63+ let game_height = 600;
64+
65+ let mut window = RenderWindow::new(
66+ (game_width, game_height),
67+ "Silny Kombat",
68+ Style::CLOSE,
69+ &context_settings,
70+ );
71+ //window.set_key_repeat_enabled(false);
72+ window.set_vertical_sync_enabled(true);
73+ window.set_framerate_limit(80);
74+ window
75+ }
76+
77+ pub fn displayWindow(&self, window: &mut RenderWindow, background_sprite: &Sprite, char_A_sprite : &Sprite , char_B_sprite : &Sprite)
78+ {
79+ window.clear(Color::rgb(50, 200, 50));
80+ window.draw(background_sprite);
81+ window.draw(char_A_sprite);
82+ window.draw(char_B_sprite);
83+ window.display();
84+ }
85+
86+}
87+
3388 // pub struct Renderer<'a> {
3489 // textures: &'a [&'a SfBox<Texture>; controller::TEXTURE_ARRAY_SIZE],
3590 //
@@ -53,46 +108,4 @@
53108 // {
54109 //
55110 // }
56-// }
57-
58-pub fn prepareSprites( window : & RenderWindow , character_a: & mut Character, character_b: & mut Character, background_sprite : & mut Sprite, ground_level : f32)
59-{
60- character_a.char_sprite.sprite.set_scale(Vector2f::new(1.0, 1.0));
61- character_b.char_sprite.sprite.set_scale(Vector2f::new(-1.0, 1.0));
62-
63- character_a.char_sprite.sprite.set_position(Vector2f::new(0.0, ground_level + 0.0));
64- character_b.char_sprite.sprite.set_position(Vector2f::new(600.0, ground_level + 0.0));
65-
66-
67- let target_size: Vector2f = Vector2f::new(window.size().x as f32, window.size().y as f32);
68- let mut scale_vect: Vector2f = Vector2f::new(target_size.x / background_sprite.local_bounds().width,
69- target_size.y / background_sprite.local_bounds().height);
70- background_sprite.set_scale(scale_vect);
71-}
72-
73-pub fn prepare_window() -> RenderWindow {
74- let context_settings = ContextSettings::default();
75-
76- let game_width = 800;
77- let game_height = 600;
78-
79- let mut window = RenderWindow::new(
80- (game_width, game_height),
81- "Silny Kombat",
82- Style::CLOSE,
83- &context_settings,
84- );
85- //window.set_key_repeat_enabled(false);
86- window.set_vertical_sync_enabled(true);
87- window.set_framerate_limit(80);
88- window
89-}
90-
91-pub fn displayWindow(window: &mut RenderWindow, background_sprite: &Sprite, char_A_sprite : &Sprite , char_B_sprite : &Sprite)
92-{
93- window.clear(Color::rgb(50, 200, 50));
94- window.draw(background_sprite);
95- window.draw(char_A_sprite);
96- window.draw(char_B_sprite);
97- window.display();
98-}
\ No newline at end of file
111+// }
\ No newline at end of file
Afficher sur ancien navigateur de dépôt.