網站首頁 編程語言 正文
1.最小開發框架代碼
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.關鍵代碼介紹
sys和pygame模塊
import sys #python的標準庫,對內部各功能模塊進行初始化創建,系統模塊 import pygame #pygame是跨平臺Python模塊,專門為電子游戲設計,包含圖像、聲音等。
初始化init()及設置
pygame.init() #電腦調用接口,基礎功能的檢查(硬件環境)初始化
-
pygame.init()
就是檢查電腦上的一些硬件調用接口、基礎功能是否有問題,如果有,則會在程序運行之前進行反饋,方便排查。簡單來說就是對電腦調用的接口進行初始化。
屏幕大小、標題、顏色設置
size=w,h = (800,600)? screen = pygame.display.set_mode(size) #pygame.display.set_mode 一個二值元組,分別表示寬度和高度。 pygame.display.set_caption("hello world") #括號內為窗口的標題內容 screen.fill((255,255,255)) #屏幕的顏色,填充背景色,其中的參數為(R,G,B),范圍為:0~~255,用整數表示。
- pygame.display.set_mode(resolution=(0,0), flags=0, depth=0) -> Surface(對象)。
- resolution 參數是一個二元組,表示寬和高。
- flags 參數是附件選項的集合。
- flags 參數指定你想要的顯示類型。例如:全屏顯示、雙緩沖模式、硬件加速等等。
- depth 參數表示使用的顏色深度。
通常來說,是不需要傳遞 depth 參數。因為默認 Pygame 會根據當前操作系統選擇最好和最快的顏色深度。
事件循環
while True: ? ? for event in pygame.event.get(): #遍歷事件列表
- while True 無限循環,直到從鍵盤或鼠標觸動事件在退出循環。
-
pygame.event.get()
從事件隊列中取出事件(列表),并從隊列中刪除該事件,例如:鍵盤按下是一個事件 - 在pygame中,所用事件都存放在事件列表中,使用
pygame.event.get()
可以取出一個事件。
退出游戲
if event.type == pygame.QUIT: #pygame.QUIT == 12? ? ? ? ? ? ? sys.exit() # 退出游戲
- event.type 獲取事件類型,并逐個響應
- pygame.QUIT是pygame中定義的退出事件常量
窗口刷新:
pygame.display.update() #對顯示窗口進行更新,默認窗口全部重繪
注意事項:
- 要用pygame制作游戲代碼時,一般用Pycharm進行編寫代碼,而不用python。
- 要添加一些事件時,直接在for循環中添加相應的代碼。
- 使用Pycharm進行編程時一定要配置環境變量,否則會運行報錯。
- 在用Pycharm進行編程時,也可以使用類、繼承、多態等方法。
原文鏈接:https://blog.csdn.net/qq_48764574/article/details/114700526
相關推薦
- 2023-03-15 React.memo?React.useMemo對項目性能優化使用詳解_React
- 2024-01-13 git從某一個commit新建分支進行開發
- 2022-12-09 Flutter?CustomPaint自定義繪畫示例詳解_IOS
- 2022-07-11 docker搭建redis 主從哨兵集群
- 2022-04-07 C++?string與int的相互轉換(使用C++11)_C 語言
- 2022-02-12 android button的圓角邊框及點擊效果實現
- 2021-12-16 Warning: Can‘t perform a React state update on an
- 2022-05-28 關于docker?compose安裝redis集群的問題(集群擴容、集群收縮)_docker
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支