Возможно, вы захотите сделать это двумя способами: прервите процесс цикла выполнения, чтобы воспроизвести другую анимацию, что потенциально проще, но может привести к сокращению анимации между циклом выполнения и другой анимацией;ИЛИ вы можете дождаться завершения текущего цикла выполнения, прежде чем переключать анимацию, если у вас есть соответствующий набор анимаций.Предполагая, что вы не пробуете этот код:
walkcount = 0
walkanim = [list of images]
fightanim = [list of images]
if direction:
win.blit(walkanim[walkCount // n], (x, y))
if walkCount + 1 >= 18:
walkCount = 0
else:
walkCount += 1
if (whenever the fight animation is triggered):
for i in range(len(fightanim)):
win.blit(walkanim[i // n], (x, y))
Я не очень много знаю о структуре вашей игры / кода, так что это может потребовать некоторой настройки.В любом случае, надеюсь, это поможет!-Theo