• R/O
  • SSH

silny-kombat: Commit

Mercurial repo for silny-kombat project


Commit MetaInfo

Revision6ffab9e31301a0a9fcaae71d599228034635dfd3 (tree)
Zeit2021-04-28 04:44:28
AutorSecT
CommiterSecT

Log Message

Refactoring - created CharacterSprite struct

Ändern Zusammenfassung

Diff

diff -r 6981156733b7 -r 6ffab9e31301 src/main.rs
--- a/src/main.rs Tue Apr 27 21:01:39 2021 +0200
+++ b/src/main.rs Tue Apr 27 21:44:28 2021 +0200
@@ -49,17 +49,16 @@
4949 let textures: [&SfBox<Texture>; 4] = [&fighter, &fighter2, &fighter_walk0, &fighter_walk1];
5050 // let textures_b: [&SfBox<Texture>; 4] = [&fighter_b, &fighter_b2, &fighter_b_walk0, &fighter_b_walk1];
5151
52+ let mut character_sprite = sprite_rendering::CharacterSprite::new();
53+ let mut character_sprite_b = sprite_rendering::CharacterSprite::new();
5254
53- let mut sprite = Sprite::new();
5455 let mut state = 0;
55-
56- let mut sprite_b = Sprite::new();
5756 let mut state_b = 0;
5857
59- sprite_b.set_position(Vector2f::new(600.0, 0.0));
60- sprite_b.set_scale(Vector2f::new(-1.0, 1.0));
6158
62- //sprite.set_texture(&fighter, true);
59+ character_sprite_b.sprite.set_position(Vector2f::new(600.0, 0.0));
60+ character_sprite_b.sprite.set_scale(Vector2f::new(-1.0, 1.0));
61+
6362
6463 let mut counter = 0;
6564
@@ -77,11 +76,11 @@
7776 counter = 0;
7877 }
7978 if key_result == 1 || key_result == 2 || key_result == 3 {
80- key_processing::process_key(&mut sprite, key_result, &mut state);
79+ key_processing::process_key(&mut character_sprite.sprite, key_result, &mut state);
8180 }
8281 //second char///////////
8382 else if key_result == key_processing::KEY_BASE + 1|| key_result ==key_processing::KEY_BASE + 2 {
84- key_processing::process_key(&mut sprite_b, key_result - key_processing::KEY_BASE, &mut state_b);
83+ key_processing::process_key(&mut character_sprite_b.sprite, key_result - key_processing::KEY_BASE, &mut state_b);
8584 }
8685 else if key_result == key_processing::KEY_BASE + 3 {
8786 state_b = 0;
@@ -98,12 +97,12 @@
9897 }
9998
10099
101- sprite_rendering::show_sprite2(&textures, &mut sprite, state, counter);
102- sprite_rendering::show_sprite2(&textures, &mut sprite_b, state_b, counter);
100+ character_sprite.show_sprite2(&textures, state, counter);
101+ character_sprite_b.show_sprite2(&textures, state_b, counter);
103102
104103 window.clear(Color::rgb(50, 200, 50));
105- window.draw(&sprite);
106- window.draw(&sprite_b);
104+ window.draw(&character_sprite.sprite);
105+ window.draw(&character_sprite_b.sprite);
107106 window.display();
108107
109108 }
diff -r 6981156733b7 -r 6ffab9e31301 src/sprite_rendering.rs
--- a/src/sprite_rendering.rs Tue Apr 27 21:01:39 2021 +0200
+++ b/src/sprite_rendering.rs Tue Apr 27 21:44:28 2021 +0200
@@ -7,52 +7,69 @@
77 SfBox
88 };
99
10-
11- pub fn show_sprite2<'a>(textures: &'a [&SfBox<Texture>], mut sprite: &mut Sprite<'a>, state: i32, counter: i32) {
12- if state == 0
13- {
14- if counter % 10 == 0
15- {
16- sprite.set_texture(&textures[1], true);
17- }
18- if counter % 20 == 0
19- {
20- sprite.set_texture(&textures[0], true);
21- }
22- } else if state == 1
23- {
24- move_right(&mut sprite);
10+ pub struct CharacterSprite<'a> {
11+ //sprite : &'a mut Sprite<'a>
12+ pub sprite : Sprite<'a>
13+ }
2514
26- if counter % 10 == 0
27- {
28- sprite.set_texture(&textures[2], true);
29- }
30- if counter % 20 == 0
31- {
32- sprite.set_texture(&textures[3], true);
33- }
34- } else if state == 2
35- {
36- move_left(&mut sprite);
15+ impl<'a> CharacterSprite<'a>{
16+ //fn new(new_sprite: &'a Sprite) -> Self{
17+ //pub fn new(new_sprite: &'a mut Sprite<'a>) -> Self{
18+ pub fn new() -> Self{
19+ let mut sprite = Sprite::new();
3720
38- if counter % 10 == 0
39- {
40- sprite.set_texture(&textures[3], true);
41- }
42- if counter % 20 == 0
43- {
44- sprite.set_texture(&textures[2], true);
21+ CharacterSprite{
22+ sprite
4523 }
4624 }
25+
26+ fn move_left(&mut self) {
27+ let v = Vector2f::new(-1.0, 0.0);
28+ self.sprite.move_(v);
29+ }
30+
31+ pub fn move_right(&mut self) {
32+ let v = Vector2f::new(1.0, 0.0);
33+ self.sprite.move_(v);
34+ }
35+
36+ pub fn show_sprite2(&mut self, textures: &'a [&SfBox<Texture>], state: i32, counter: i32) {
37+ if state == 0
38+ {
39+ if counter % 10 == 0
40+ {
41+ self.sprite.set_texture(&textures[1], true);
42+ }
43+ if counter % 20 == 0
44+ {
45+ self.sprite.set_texture(&textures[0], true);
46+ }
47+ } else if state == 1
48+ {
49+ self.move_right();
50+
51+ if counter % 10 == 0
52+ {
53+ self.sprite.set_texture(&textures[2], true);
54+ }
55+ if counter % 20 == 0
56+ {
57+ self.sprite.set_texture(&textures[3], true);
58+ }
59+ } else if state == 2
60+ {
61+ self.move_left();
62+
63+ if counter % 10 == 0
64+ {
65+ self.sprite.set_texture(&textures[3], true);
66+ }
67+ if counter % 20 == 0
68+ {
69+ self.sprite.set_texture(&textures[2], true);
70+ }
71+ }
72+ }
73+
4774 }
4875
49-
50- pub fn move_left(sprite: &mut Sprite) {
51- let v = Vector2f::new(-1.0, 0.0);
52- sprite.move_(v);
53- }
54-
55- pub fn move_right(sprite: &mut Sprite) {
56- let v = Vector2f::new(1.0, 0.0);
57- sprite.move_(v);
58- }
Show on old repository browser