screen.fill((0, 0, 50))
screen.blit(bg, (0, 0))
Итак, каждый раз через l oop ваш план состоит в том, чтобы перерисовать всю сцену.
Поэтому каждый раз через l oop, , если вы все еще показывая анимацию , вам нужно нарисовать копье. Вы используете spear_state
, который вы установили в начале атаки, чтобы отследить, верно ли это.
Итак, теперь есть две проблемы:
Вам нужно контролирует время, необходимое для go через l oop.
Вы должны решить, сколько раз через l oop анимация будет быть активным и отслеживать, как долго анимация уже была активна. Вы можете сделать это почти так же, как с существующим spear_state
- попробуйте использовать целочисленное значение, представляющее, сколько еще итераций («фреймов», в игре Game-Dev) анимация будет активна; когда оно достигает нуля, вы пропускаете рисование копья и меняете состояние обратно.
Вы можете сделать более изумительные анимации, установив несколько изображений копья в соответствующих положениях и используя этот счетчик кадров решить, что рисовать (например, путем индексации в списке). Это легче понять, если вы знакомы с базовой теорией анимации .