一千萬個為什麽

搜索

Python動畫時間

我目前正在使用python中的sprite sheet工具將組織導出到xml文檔中,但是我在嘗試設置預覽動畫時遇到了一些問題。我不太確定如何用python計算幀速率。例如,假設我擁有所有適當的幀數據和繪圖函數,我將如何編寫時序以每秒30幀(或任何其他任意速率)顯示它。

最佳答案

最簡單的方法是使用 Pygame

import pygame
pygame.init()

clock = pygame.time.Clock()
# or whatever loop you're using for the animation
while True:
    # draw animation
    # pause so that the animation runs at 30 fps
    clock.tick(30)

第二種最簡單的方法是手動:

import time

FPS = 30
last_time = time.time()
# whatever the loop is...
while True:
    # draw animation
    # pause so that the animation runs at 30 fps
    new_time = time.time()
    # see how many milliseconds we have to sleep for
    # then divide by 1000.0 since time.sleep() uses seconds
    sleep_time = ((1000.0/FPS) - (new_time - last_time))/1000.0
    if sleep_time > 0:
        time.sleep(sleep_time)
    last_time = new_time

轉載註明原文: Python動畫時間