Pygame Time時間控制的具體使用詳解

pygame.time 時間控制模塊,是 Pygame 中使用頻率較高的模塊,其主要功能是管理時間和遊戲幀數率(即 FPS)。

時間在遊戲開發中承擔著非常重要的作用,比如釋放某個技能所消耗的時間,或者播放動畫、聲音的持續時間,這些都需要時間來管理。time 模塊另外一個重要作用是控制遊戲幀數率(即 FPS),它是評價遊戲畫面是否流暢的關鍵指標。在一般情況下,計算機的 FPS 都能達到 60幀/s 的速度,這足夠我們使用,如果當幀數小於 30 的時候,遊戲畫面就會變得卡頓。

註意,在 Pygame 中時間以毫秒為單位(1秒=1000毫秒),這樣會使遊戲的設計更為精細。

1) 遊戲暫停

Pygame.time 模塊提供瞭以下常用方法,如下表所示:

方法 說明
pygame.time.get_ticks()  以毫秒為單位獲取時間
pygame.time.wait() 使程序暫停一段時間
pygame.time.set_timer() 創建一個定時器,即每隔一段時間,去執行一些動作
pygame.time.Clock() 創建一個時鐘對象來幫我們確定遊戲要以多大的幀數運行

下面看一組簡單的示例:

import pygame
pygame.init()
screen = pygame.display.set_mode((500,500))
pygame.display.set_caption('c語言中文網')
# 獲取以毫秒為單位的時間
t = pygame.time.get_ticks() #該時間指的從pygame初始化後開始計算,到調用該函數為止
t1 =pygame.time.wait(3000) #暫停遊戲3000毫秒
print(t1)
#暫停t1時間後,加載圖片
image_surface = pygame.image.load("C:/Users/Administrator/Desktop/c-net.png")
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
    screen.blit(image_surface,(0,0))
    pygame.display.update()

上述程序在暫停 3 秒後才會加載圖片

2) 設置遊戲FPS

若想設置遊戲的幀數率(FPS)可以通過 Clock() 方法來實現,該對象提供瞭以下常用方法:

方法 說明
pygame.time.Clock.tick() 更新clock對象
pygame.time.Clock.get_time() 獲取上一個tick中的時間
pygame.time.Clock.get_fps() 計算clock對象的幀率

下面看一組簡單的應用示例:

import pygame
pygame.init()
screen = pygame.display.set_mode((500,300))
pygame.display.set_caption('c語言中文網')
# 獲取以毫秒為單位的時間
t = pygame.time.get_ticks() #該時間指的從pygame初始化後開始計算,到調用該函數為止
t1 =pygame.time.delay(3000) #暫停遊戲3000毫秒
print(t1)
#暫停t1時間後,加載圖片
image_surface = pygame.image.load("C:/Users/Administrator/Desktop/c-net.png")
#創建時鐘對象(控制遊戲的FPS)
clock = pygame.time.Clock()
while True:
    #通過時鐘對象,指定循環頻率,每秒循環60次
    clock.tick(60)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            exit()
    screen.blit(image_surface,(0,0))
    pygame.display.update()

註意:FPS(遊戲幀率)影響效果隻有在動態圖時才能顯現出來,不過無論靜態圖還是動態圖,它們的使用規則都是一樣的。

到此這篇關於Pygame Time時間控制的具體使用詳解的文章就介紹到這瞭,更多相關Pygame Time時間控制內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: