Всем привет. Возможно, данный вопрос освещался на форуме, но я не нашел.
Есть такой код:
Код
image_angle = point_direction(x, y, mouse_x, mouse_y);
if (mouse_check_button(mb_left)) { sprite_index = spr_player_shoot; image_speed = 0.5; } else if (keyboard_check_released(ord('R'))) { // Здесь нужно как-то подождать пока проиграется вся анимация, // а уже потом запускать логику sprite_index = spr_player_reload; image_speed = 0.15; // логика перезарядки if (bullets_pack < oboima) { if (bullets_count >= oboima) { bullets_count -= oboima - bullets_pack; bullets_pack = oboima; } else { bullets_pack = bullets_count; bullets_count = 0; } } } else { sprite_index = spr_player_idle; image_speed = 0.1; }
if (keyboard_check(ord('W'))) y -= walk_speed; if (keyboard_check(ord('S'))) y += walk_speed; if (keyboard_check(ord('A'))) x -= walk_speed; if (keyboard_check(ord('D'))) x += walk_speed;
Заранее благодарю
Сообщение отредактировал Freaky_Brainstorm - Воскресенье, 26 Февраля 2017, 17:42
Интернет, не работает. спрайт дергается, пытается проиграть анимацию, но включается idle. Так получается, что событие завершается раньше, чем проиграется анимация, а нужно что бы анимация вся проигралась, затем просчиталась логика и код пошел дальше
Сообщение отредактировал Freaky_Brainstorm - Воскресенье, 26 Февраля 2017, 18:07
if (keyboard_check_pressed(ord('R'))) { sprite_index=spr_player_reload} if sprite_index=spr_player_reload{ if image_index!='последний кадр в анимации'{ image_speed=0.15} else{ image_speed=0 sprite_index = spr_player_shoot; //Логика }}}
Сообщение отредактировал Интернет - Воскресенье, 26 Февраля 2017, 18:17
if (keyboard_check(ord('W'))) y -= walk_speed; if (keyboard_check(ord('S'))) y += walk_speed; if (keyboard_check(ord('A'))) x -= walk_speed; if (keyboard_check(ord('D'))) x += walk_speed;
Сообщение отредактировал Freaky_Brainstorm - Воскресенье, 26 Февраля 2017, 18:58