В Pygame нормализация скорости игры по разным значениям fps
Я возлюсь с Pygame, делаю несколько простых игр, чтобы просто научиться этому. Тем не менее, мне трудно реализовать fps так, как я хочу.
Насколько я понимаю, fps обычно устанавливается с:
import pygame
...
clock = pygame.time.Clock()
while True:
clock.tick(60)
И затем во всей программе я проверяю, что каждый цикл / кадр записывается так, чтобы занимать 1/60 секунды, поэтому я могу, например, заставить объекты двигаться со скоростью, которую я тоже хочу. Увеличение тика до 120 кадров в секунду сделает игру слишком быстрой, а при уменьшении - слишком медленной.
Тем не менее, я не знаю, как fps работает в любой другой игре. В большинстве игр частота кадров в секунду может варьироваться настолько, насколько вы хотите (обычно в зависимости от того, насколько хорошо система запускает приложение), но игра всегда будет работать с одинаковой скоростью (например, перемещение 100 пикселей по экрану займет 1 секунду, независимо от того, сколько кадров произошло в ту секунду).
Единственный способ заставить его работать так, как я хочу, - это захватывать текущие fps каждый кадр и учитывать это при расчете каждого движения или события, основанного на времени. Но это кажется неоправданно сложным, и мне интересно, упустил ли я полностью часть функциональности Pygame, которая это выяснит для меня.