Mercurial repo for silny-kombat project
Revision | b2f5ba8f93a5d321895b2de3dd2ac1ad543e3c0d (tree) |
---|---|
Time | 2021-11-11 04:25:31 |
Author | SecT |
Commiter | SecT |
Timer based on iteration counter. Not finished
@@ -25,6 +25,9 @@ | ||
25 | 25 | version = "1.0" |
26 | 26 | optional = true |
27 | 27 | |
28 | +[dependencies.tokio] | |
29 | +version = "1.13" | |
30 | + | |
28 | 31 | [dependencies.csfml-system-sys] |
29 | 32 | path = "csfml/csfml-system-sys" |
30 | 33 | version = "0.5.0" |
@@ -12,6 +12,7 @@ | ||
12 | 12 | use std::io::prelude::*; |
13 | 13 | use std::path::Path; |
14 | 14 | |
15 | + | |
15 | 16 | use sfml::{ |
16 | 17 | graphics::{ |
17 | 18 | Color, Transformable, Sprite, Texture, RenderWindow, RenderTarget |
@@ -97,6 +98,9 @@ | ||
97 | 98 | let mut characterAInput : bool = false; |
98 | 99 | let mut characterBInput : bool = false; |
99 | 100 | |
101 | + //TODO: use some kind of a timer | |
102 | + let mut currentFrameTimer = 0; | |
103 | + | |
100 | 104 | loop { |
101 | 105 | while let Some(event) = window.poll_event() { |
102 | 106 | let mut key_result = keyProcessor.match_key(event); |
@@ -116,6 +120,7 @@ | ||
116 | 120 | |
117 | 121 | |
118 | 122 | if key_result < KeyProcessor::KEY_BASE && !characterAInput{ |
123 | + println!("A moved"); | |
119 | 124 | //first char |
120 | 125 | process_key_result_for_character(&keyProcessor, &mut character_A, key_result); |
121 | 126 |
@@ -125,12 +130,10 @@ | ||
125 | 130 | counter = 0; |
126 | 131 | } |
127 | 132 | |
128 | - if characterAInput && characterBInput{ | |
129 | - characterAInput = false; | |
130 | - characterBInput = false; | |
131 | - } | |
132 | 133 | |
133 | 134 | } else if key_result >= KeyProcessor::KEY_BASE && !characterBInput { |
135 | + println!("B moved"); | |
136 | + | |
134 | 137 | //second char |
135 | 138 | key_result = key_result - KeyProcessor::KEY_BASE; |
136 | 139 | process_key_result_for_character( &keyProcessor,&mut character_B, key_result); |
@@ -141,11 +144,16 @@ | ||
141 | 144 | counter = 0; |
142 | 145 | } |
143 | 146 | |
144 | - if characterAInput && characterBInput{ | |
145 | - characterAInput = false; | |
146 | - characterBInput = false; | |
147 | - } | |
148 | 147 | |
148 | + | |
149 | + } | |
150 | + else { | |
151 | + println!("Neither char moves key_result: {} AInput: {} BInput: {}", key_result, characterAInput, characterBInput); | |
152 | + } | |
153 | + | |
154 | + if characterAInput && characterBInput{ | |
155 | + characterAInput = false; | |
156 | + characterBInput = false; | |
149 | 157 | } |
150 | 158 | |
151 | 159 | // if key_result == 3 { |
@@ -167,6 +175,20 @@ | ||
167 | 175 | // state_b = 0; |
168 | 176 | // counter = 0; |
169 | 177 | // } |
178 | + | |
179 | + currentFrameTimer = currentFrameTimer +1; | |
180 | + | |
181 | + if currentFrameTimer > 1 | |
182 | + { | |
183 | + println!("currentFrameTimer expired"); | |
184 | + | |
185 | + //release the characters | |
186 | + characterAInput = false; | |
187 | + characterBInput = false; | |
188 | + | |
189 | + currentFrameTimer = 0; | |
190 | + } | |
191 | + | |
170 | 192 | } |
171 | 193 | |
172 | 194 |
@@ -177,6 +199,8 @@ | ||
177 | 199 | counter = 0; |
178 | 200 | } |
179 | 201 | |
202 | + | |
203 | + | |
180 | 204 | //character_A.char_sprite.show_sprite(state, counter); |
181 | 205 | //character_B.char_sprite.show_sprite(state_b, counter); |
182 | 206 |