Mercurial repo for silny-kombat project
Révision | 789144919049f6a1fe7993e5184cf58f3b04a9cd (tree) |
---|---|
l'heure | 2022-12-15 05:27:39 |
Auteur | Piotr Kozka <piotoor@gmai...> |
Commiter | Piotr Kozka |
Added stage background. Moved player characters to match the floor level
@@ -14,14 +14,16 @@ | ||
14 | 14 | |
15 | 15 | use sfml::{ |
16 | 16 | graphics::{ |
17 | - Color, Transformable, Texture, RenderWindow, RenderTarget | |
17 | + Color, Transformable, Texture, RenderWindow, RenderTarget, Sprite | |
18 | 18 | }, |
19 | - window::{ ContextSettings, Style, event}, | |
19 | + window::{ ContextSettings, Style, Event}, | |
20 | 20 | system::Vector2f, |
21 | 21 | SfBox |
22 | 22 | }; |
23 | +use sfml::graphics::Image; | |
24 | +use sfml::system::Vector2u; | |
23 | 25 | use crate::key_processing::{KeyProcessor, SignalForSM, KeyEvents}; |
24 | -use sfml::window::{Event, Key}; | |
26 | +use sfml::window::{Key}; | |
25 | 27 | |
26 | 28 | pub struct Controller<'a> { |
27 | 29 | character_a : Option<&'a Character<'a>>, |
@@ -74,12 +76,22 @@ | ||
74 | 76 | |
75 | 77 | println!("{} vs {}", character_a.get_name(), character_b.get_name()); |
76 | 78 | |
77 | - let ground_level = 100.0; | |
79 | + character_a.char_sprite.sprite.set_scale(Vector2f::new(1.0, 1.0)); | |
80 | + character_b.char_sprite.sprite.set_scale(Vector2f::new(-1.0, 1.0)); | |
81 | + | |
82 | + let ground_level = window.size().y as f32 - 50.0 - 100.0; | |
78 | 83 | |
79 | 84 | character_a.char_sprite.sprite.set_position(Vector2f::new(0.0, ground_level + 0.0)); |
85 | + character_b.char_sprite.sprite.set_position(Vector2f::new(600.0, ground_level + 0.0)); | |
80 | 86 | |
81 | - character_b.char_sprite.sprite.set_position(Vector2f::new(600.0, ground_level + 0.0)); | |
82 | - character_b.char_sprite.sprite.set_scale(Vector2f::new(-1.0, 1.0)); | |
87 | + // let background = Texture::new(window.size().x, window.size().y).unwrap(); | |
88 | + let background = Texture::from_file("backgrounds/01.png").unwrap(); | |
89 | + let target_size: Vector2f = Vector2f::new(window.size().x as f32, window.size().y as f32 ); | |
90 | + let mut background_sprite = Sprite::new(); | |
91 | + background_sprite.set_texture(&background, true); | |
92 | + let mut scale_vect: Vector2f = Vector2f::new(target_size.x / background_sprite.local_bounds().width, | |
93 | + target_size.y / background_sprite.local_bounds().height); | |
94 | + background_sprite.set_scale(scale_vect); | |
83 | 95 | |
84 | 96 | //loop |
85 | 97 |
@@ -156,7 +168,9 @@ | ||
156 | 168 | } |
157 | 169 | } |
158 | 170 | |
171 | + | |
159 | 172 | window.clear(Color::rgb(50, 200, 50)); |
173 | + window.draw(&background_sprite); | |
160 | 174 | window.draw(&character_a.char_sprite.sprite); |
161 | 175 | window.draw(&character_b.char_sprite.sprite); |
162 | 176 | window.display(); |
@@ -27,6 +27,7 @@ | ||
27 | 27 | fn main() { |
28 | 28 | println!("Silny-Kombat!"); |
29 | 29 | |
30 | + | |
30 | 31 | let fighter = Texture::from_file("sprites//sub_zero//01.gif").unwrap(); |
31 | 32 | let fighter2 = Texture::from_file("sprites//sub_zero//02.gif").unwrap(); |
32 | 33 | let fighter_walk0 = Texture::from_file("sprites//sub_zero//a01.gif").unwrap(); |