Как я могу воспроизвести анимацию после нажатия пробела? - PullRequest
0 голосов
/ 20 июня 2019

У меня есть список изображений для анимации базовой атаки, но я не знаю, как играть через них при нажатии пробела.

Для анимации ходьбы это было легко, потому что я просто играл

    walkcount = 0
    walkanim = [list of images]

    if direction:
        win.blit(walkanim[walkCount // n], (x, y))
        if walkCount + 1 >= 18:
            walkCount = 0
        else:
            walkCount += 1

Но я не понимаю, как воспроизвести весь список изображений своевременно, если нажата пробел.

потому что, когда она нажата, она снова ложна

1 Ответ

0 голосов
/ 20 июня 2019

Возможно, вы захотите сделать это двумя способами: прервите процесс цикла выполнения, чтобы воспроизвести другую анимацию, что потенциально проще, но может привести к сокращению анимации между циклом выполнения и другой анимацией;ИЛИ вы можете дождаться завершения текущего цикла выполнения, прежде чем переключать анимацию, если у вас есть соответствующий набор анимаций.Предполагая, что вы не пробуете этот код:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...