您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么使用Pygame Time時間控制”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用Pygame Time時間控制”吧!
pygame.time 時間控制模塊,是 Pygame 中使用頻率較高的模塊,其主要功能是管理時間和游戲幀數率(即 FPS)。
時間在游戲開發中承擔著非常重要的作用,比如釋放某個技能所消耗的時間,或者播放動畫、聲音的持續時間,這些都需要時間來管理。time 模塊另外一個重要作用是控制游戲幀數率(即 FPS),它是評價游戲畫面是否流暢的關鍵指標。在一般情況下,計算機的 FPS 都能達到 60幀/s 的速度,這足夠我們使用,如果當幀數小于 30 的時候,游戲畫面就會變得卡頓。
注意,在 Pygame 中時間以毫秒為單位(1秒=1000毫秒),這樣會使游戲的設計更為精細。
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 秒后才會加載圖片
若想設置游戲的幀數率(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時間控制”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。