#python #pygame
#python #pygame
Вопрос:
У меня пока есть игра, которая работает со скоростью 60 кадров в секунду, но мне нужно, чтобы у персонажа была анимация, когда он ходит. Я просматривал исходные тексты в течение нескольких дней, но не нашел ничего о том, как заставить этот цикл работать на основе времени. Если бы вы могли создать пример и объяснить, как это работает, я был бы очень благодарен!
Комментарии:
1. Я предлагаю вам показать несколько примеров кода.
2. Попросите персонажа отслеживать, в каком кадре (игры) он начал свою анимацию, а затем отобразить следующий кадр анимации, когда пройдет достаточно игровых кадров.
Ответ №1:
Меняйте анимацию каждые 1 секунду (1000 мс) — используя тики pygame.
current_time = pygame.time.get_ticks()
next_move = current_time 1000 # 1s = 1000ms
# mainloop
while True:
current_time = pygame.time.get_ticks()
if next_move <= current_time:
change_animation()
next_move = current_time 1000
Этот код не зависит от FPS.