pygame時序模塊time的具體使用
更新時間:2023年12月04日 09:46:52 作者:微小冷
Pygame Time模塊能夠幫助你更好地控制幀率和時間,從而增強游戲的可玩性,本文主要介紹了pygame時序模塊time的具體使用,具有一定的參考價值,感興趣的可以了解一下
簡介
之前在更新圖形的時候,為了調(diào)控死循環(huán)的響應時間,用到了time.sleep。而實際上,我們并不需要額外導入其他包,pygame就提供了time模塊,用以調(diào)控游戲的幀率。
time中主要有下面幾種
方法和類 | |
---|---|
get_ticks | 獲取pygame初始化后的毫秒數(shù) |
wait(milliseconds) delay(milliseconds) | 延時,前者更輕量,后者更精確 |
set_timer | 重復創(chuàng)建事件隊列中的事件 |
Clock | 時鐘對象 |
時鐘對象
Clock是time模塊中的時鐘類,封裝了下列方法
方法 | |
---|---|
tick, tick_busy_loop | 更新時鐘,前者更輕量,后者更精確 |
get_time, get_rawtime | 上一次tick的毫秒數(shù) |
get_fps | 計算時鐘幀率 |
下面簡單測試一下時鐘類
import pygame as pg c = pg.time.Clock() c.tick() # 5 c.tick_busy_loop() # 1 c.get_time() # 1
平拋運動
接下來,用time模塊將平拋運動重做一次,代碼如下
import pygame as pg pg.init() size = width, height = 640, 320 speed = [10, 0] screen = pg.display.set_mode(size) ball = pg.image.load("intro_ball.gif") rect = ball.get_rect() th = 0 while True: if pg.QUIT in [e.type for e in pg.event.get()]: pg.quit() break pg.time.delay(20) rect = rect.move(speed) if rect.right>width: speed = [10, 0] rect = ball.get_rect() if rect.bottom>height: speed[1] = -speed[1] speed[1] += 1 th += 5 screen.fill("black") screen.blit(pg.transform.rotate(ball, th), rect) pg.display.flip()
效果如下
到此這篇關于pygame時序模塊time的具體使用的文章就介紹到這了,更多相關pygame time內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
相關文章
python實現(xiàn)監(jiān)控阿里云賬戶余額功能
這篇文章主要介紹了python實現(xiàn)監(jiān)控阿里云賬戶余額功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12Pandas過濾dataframe中包含特定字符串的數(shù)據(jù)方法
今天小編就為大家分享一篇Pandas過濾dataframe中包含特定字符串的數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11