基于python?的Pygame最小開(kāi)發(fā)框架
1.最小開(kāi)發(fā)框架代碼
import sys? import pygame pygame.init()? size=w,h = (800,600) screen = pygame.display.set_mode(size)? pygame.display.set_caption("hello world")? screen.fill((255,255,255)) while True: ? ? for event in pygame.event.get():? ? ? ? ? if event.type == pygame.QUIT:? ? ? ? ? ? ? sys.exit() ? ? pygame.display.update()?
2.關(guān)鍵代碼介紹
sys和pygame模塊
import sys #python的標(biāo)準(zhǔn)庫(kù),對(duì)內(nèi)部各功能模塊進(jìn)行初始化創(chuàng)建,系統(tǒng)模塊 import pygame #pygame是跨平臺(tái)Python模塊,專(zhuān)門(mén)為電子游戲設(shè)計(jì),包含圖像、聲音等。
初始化init()及設(shè)置
pygame.init() #電腦調(diào)用接口,基礎(chǔ)功能的檢查(硬件環(huán)境)初始化
pygame.init()
就是檢查電腦上的一些硬件調(diào)用接口、基礎(chǔ)功能是否有問(wèn)題,如果有,則會(huì)在程序運(yùn)行之前進(jìn)行反饋,方便排查。簡(jiǎn)單來(lái)說(shuō)就是對(duì)電腦調(diào)用的接口進(jìn)行初始化。
屏幕大小、標(biāo)題、顏色設(shè)置
size=w,h = (800,600)? screen = pygame.display.set_mode(size) #pygame.display.set_mode 一個(gè)二值元組,分別表示寬度和高度。 pygame.display.set_caption("hello world") #括號(hào)內(nèi)為窗口的標(biāo)題內(nèi)容 screen.fill((255,255,255)) #屏幕的顏色,填充背景色,其中的參數(shù)為(R,G,B),范圍為:0~~255,用整數(shù)表示。
- pygame.display.set_mode(resolution=(0,0), flags=0, depth=0) -> Surface(對(duì)象)。
- resolution 參數(shù)是一個(gè)二元組,表示寬和高。
- flags 參數(shù)是附件選項(xiàng)的集合。
- flags 參數(shù)指定你想要的顯示類(lèi)型。例如:全屏顯示、雙緩沖模式、硬件加速等等。
- depth 參數(shù)表示使用的顏色深度。
通常來(lái)說(shuō),是不需要傳遞 depth 參數(shù)。因?yàn)槟J(rèn) Pygame 會(huì)根據(jù)當(dāng)前操作系統(tǒng)選擇最好和最快的顏色深度。
事件循環(huán)
while True: ? ? for event in pygame.event.get(): #遍歷事件列表
- while True 無(wú)限循環(huán),直到從鍵盤(pán)或鼠標(biāo)觸動(dòng)事件在退出循環(huán)。
pygame.event.get()
從事件隊(duì)列中取出事件(列表),并從隊(duì)列中刪除該事件,例如:鍵盤(pán)按下是一個(gè)事件- 在pygame中,所用事件都存放在事件列表中,使用
pygame.event.get()
可以取出一個(gè)事件。
退出游戲
if event.type == pygame.QUIT: #pygame.QUIT == 12? ? ? ? ? ? ? sys.exit() # 退出游戲
- event.type 獲取事件類(lèi)型,并逐個(gè)響應(yīng)
- pygame.QUIT是pygame中定義的退出事件常量
窗口刷新:
pygame.display.update() #對(duì)顯示窗口進(jìn)行更新,默認(rèn)窗口全部重繪
注意事項(xiàng):
- 要用pygame制作游戲代碼時(shí),一般用Pycharm進(jìn)行編寫(xiě)代碼,而不用python。
- 要添加一些事件時(shí),直接在for循環(huán)中添加相應(yīng)的代碼。
- 使用Pycharm進(jìn)行編程時(shí)一定要配置環(huán)境變量,否則會(huì)運(yùn)行報(bào)錯(cuò)。
- 在用Pycharm進(jìn)行編程時(shí),也可以使用類(lèi)、繼承、多態(tài)等方法。
到此這篇關(guān)于基于python 的Pygame最小開(kāi)發(fā)框架的文章就介紹到這了,更多相關(guān)Pygame開(kāi)發(fā)框架內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python區(qū)塊鏈持久化和命令行接口實(shí)現(xiàn)簡(jiǎn)版
這篇文章主要為大家介紹了python區(qū)塊鏈持久化和命令行接口實(shí)現(xiàn)簡(jiǎn)版,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05pytorch 更改預(yù)訓(xùn)練模型網(wǎng)絡(luò)結(jié)構(gòu)的方法
今天小編就為大家分享一篇pytorch 更改預(yù)訓(xùn)練模型網(wǎng)絡(luò)結(jié)構(gòu)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08python圖片剪裁代碼(圖片按四個(gè)點(diǎn)坐標(biāo)剪裁)
這篇文章主要介紹了python圖片剪裁代碼(圖片按四個(gè)點(diǎn)坐標(biāo)剪裁),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Python實(shí)現(xiàn)的讀取文件內(nèi)容并寫(xiě)入其他文件操作示例
這篇文章主要介紹了Python實(shí)現(xiàn)的讀取文件內(nèi)容并寫(xiě)入其他文件操作,結(jié)合實(shí)例形式分析了Python文件讀寫(xiě)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-04-04Python實(shí)現(xiàn)的手機(jī)號(hào)歸屬地相關(guān)信息查詢(xún)功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的手機(jī)號(hào)歸屬地相關(guān)信息查詢(xún)功能,涉及Python文件讀取及基于第三方接口調(diào)用查詢(xún)信息的相關(guān)操作技巧,需要的朋友可以參考下2017-06-06Python導(dǎo)入模塊包原理及相關(guān)注意事項(xiàng)
這篇文章主要介紹了Python導(dǎo)入模塊包原理及相關(guān)注意事項(xiàng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03從Pyspark UDF調(diào)用另一個(gè)自定義Python函數(shù)的方法步驟
PySpark,通常稱(chēng)為Apache Spark的Python API,是為分布式數(shù)據(jù)處理而創(chuàng)建的,使用UDF,可以擴(kuò)展和定制 PySpark 的功能以滿(mǎn)足某些需求,在本文中,我們將學(xué)習(xí)如何從Pyspark UDF調(diào)用另一個(gè)自定義Python函數(shù),需要的朋友可以參考下2023-11-11python email smtplib模塊發(fā)送郵件代碼實(shí)例
本篇文章給大家分享了python email smtplib模塊發(fā)送郵件的相關(guān)代碼分享,有需要的朋友參考學(xué)習(xí)下。2018-04-04