網(wǎng)站首頁 編程語言 正文
1.最小開發(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)庫,對(duì)內(nèi)部各功能模塊進(jìn)行初始化創(chuàng)建,系統(tǒng)模塊 import pygame #pygame是跨平臺(tái)Python模塊,專門為電子游戲設(shè)計(jì),包含圖像、聲音等。
初始化init()及設(shè)置
pygame.init() #電腦調(diào)用接口,基礎(chǔ)功能的檢查(硬件環(huán)境)初始化
-
pygame.init()
就是檢查電腦上的一些硬件調(diào)用接口、基礎(chǔ)功能是否有問題,如果有,則會(huì)在程序運(yùn)行之前進(jìn)行反饋,方便排查。簡(jiǎn)單來說就是對(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ù)指定你想要的顯示類型。例如:全屏顯示、雙緩沖模式、硬件加速等等。
- depth 參數(shù)表示使用的顏色深度。
通常來說,是不需要傳遞 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 無限循環(huán),直到從鍵盤或鼠標(biāo)觸動(dòng)事件在退出循環(huán)。
-
pygame.event.get()
從事件隊(duì)列中取出事件(列表),并從隊(duì)列中刪除該事件,例如:鍵盤按下是一個(gè)事件 - 在pygame中,所用事件都存放在事件列表中,使用
pygame.event.get()
可以取出一個(gè)事件。
退出游戲
if event.type == pygame.QUIT: #pygame.QUIT == 12? ? ? ? ? ? ? sys.exit() # 退出游戲
- event.type 獲取事件類型,并逐個(gè)響應(yīng)
- pygame.QUIT是pygame中定義的退出事件常量
窗口刷新:
pygame.display.update() #對(duì)顯示窗口進(jìn)行更新,默認(rèn)窗口全部重繪
注意事項(xiàng):
- 要用pygame制作游戲代碼時(shí),一般用Pycharm進(jìn)行編寫代碼,而不用python。
- 要添加一些事件時(shí),直接在for循環(huán)中添加相應(yīng)的代碼。
- 使用Pycharm進(jìn)行編程時(shí)一定要配置環(huán)境變量,否則會(huì)運(yùn)行報(bào)錯(cuò)。
- 在用Pycharm進(jìn)行編程時(shí),也可以使用類、繼承、多態(tài)等方法。
原文鏈接:https://blog.csdn.net/qq_48764574/article/details/114700526
相關(guān)推薦
- 2022-04-19 Python使用描述器實(shí)現(xiàn)ORM模型的方法詳解_python
- 2023-03-11 Pandas條件篩選與組合篩選的使用_python
- 2023-12-09 使用String.valueOf()的坑
- 2022-10-31 R語言中set.seed()函數(shù)的作用詳解_R語言
- 2022-05-25 SpringBoot使用Aop實(shí)現(xiàn)分布式鎖
- 2022-11-22 GoLang?channel關(guān)閉狀態(tài)相關(guān)操作詳解_Golang
- 2023-01-30 如何使用Flutter實(shí)現(xiàn)手寫簽名效果_Android
- 2022-01-13 封裝axios以及接口管理
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支