pygame時序模塊time的具體使用
簡介
之前在更新圖形的時候,為了調(diào)控死循環(huán)的響應(yīng)時間,用到了time.sleep。而實際上,我們并不需要額外導(dǎo)入其他包,pygame就提供了time模塊,用以調(diào)控游戲的幀率。
time中主要有下面幾種
方法和類 | |
---|---|
get_ticks | 獲取pygame初始化后的毫秒數(shù) |
wait(milliseconds) delay(milliseconds) | 延時,前者更輕量,后者更精確 |
set_timer | 重復(fù)創(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()
效果如下
到此這篇關(guān)于pygame時序模塊time的具體使用的文章就介紹到這了,更多相關(guān)pygame time內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+radar實現(xiàn)隨機(jī)日期時間的生成
Python有廣泛豐富的第三方庫,在沒有特殊定制下,避免了重復(fù)造輪子。本文將利用radar庫實現(xiàn)生成隨機(jī)的日期或時間,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-05-05python進(jìn)行數(shù)據(jù)預(yù)處理的4個重要步驟
在數(shù)據(jù)科學(xué)項目中,數(shù)據(jù)預(yù)處理是最重要的事情之一,本文詳細(xì)給大家介紹python進(jìn)行數(shù)據(jù)預(yù)處理的4個重要步驟:拆分訓(xùn)練集和測試集,處理缺失值,處理分類特征和進(jìn)行標(biāo)準(zhǔn)化處理,需要的朋友可以參考下2023-06-06python實現(xiàn)監(jiān)控阿里云賬戶余額功能
這篇文章主要介紹了python實現(xiàn)監(jiān)控阿里云賬戶余額功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12Pycharm學(xué)習(xí)教程(4) Python解釋器的相關(guān)配置
這篇文章主要為大家詳細(xì)介紹了最全的Pycharm學(xué)習(xí)教程第四篇,Python解釋器配置,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05Pandas過濾dataframe中包含特定字符串的數(shù)據(jù)方法
今天小編就為大家分享一篇Pandas過濾dataframe中包含特定字符串的數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11