Прогулки и время в Pygame - PullRequest
       19

Прогулки и время в Pygame

0 голосов
/ 29 октября 2009

В моей игре запущен pygame.Timer, вызывающий функцию рисования 32 раза в секунду. Метод рисования получает позиции от всех элементов на моем экране и соответственно их блиит. Однако я хочу, чтобы главный персонаж ходил медленнее, чем другие объекты.

Должен ли я установить таймер специально для него или я должен просто перетаскивать одни и те же кадры несколько раз? Есть ли лучший способ сделать это? Толчок в правильном направлении был бы потрясающим:)

(Если кому-то интересно, вот код, который в настоящее время контролирует, какие кадры отправлять на чертеж: http://github.com/kallepersson/subterranean-ng/blob/master/Player.py#L88)

1 Ответ

1 голос
/ 29 октября 2009

Ваш кадр цикла ходьбы (как и все движения) должен быть функцией абсолютного времени, а не количества кадров. e.g.:

def walk_frame(millis, frames_per_second, framecount, start_millis=0):
    millis_per_frame = 1000 / frames_per_second
    elapsed_millis = millis - start_millis
    total_frames = elapsed_millis / millis_per_frame
    return total_frames % framecount
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...