網站首頁 編程語言 正文
1.首先,我們需要導入幾個相關模塊
import pygame
import sys
from pygame.locals import *
2,初始化游戲
pygame.init()#是一定要添加的
與其對應的是pygame.quit(),關閉pygame。
3,創建窗口及標題
screen = pygame.display.set_mode(size=(1118,633),flags=0,depth=32)#繪制屏幕大小及相關數據
pygame.display.set_caption('小游戲')#設置標題
background = pygame.image.load('')#加載背景圖片,括號里填圖片位置
screen.blit(background,(0,0))#繪制背景圖片位置,括號內表示坐標
pygame.display.update()#記得刷新屏幕,很重要
pygame.display.set_mode()函數中size=(a,b)表示繪制屏幕尺寸大小,a,b分別代表長和寬,
pygame中坐標情況如下:
這里要注意:其原點在左上角。
flags是標志位,默認為0。
對其常見相關參數說明 :
- flags = 0?用戶設置的窗口大小
- flags =?pygame.FULLSCREEN 創建一個全屏窗口
- flags = pygame.RESIZABLE 創建一個可以改變大小的窗口
- flags = pygame.NOFRAME 創建一個沒有邊框的窗口
- flags = pygame.OPENGL 創建一個OPENGL渲染的窗口
depth 是顏色位數
8位:含有256種顏色
16位:包含高達65000種顏色
32位:包含4294967296種顏色
4,創建主循環
while True :
for event in pygame.event.get() :
if event.type == QUIT :
pygame.quit()
sys.quit()
pygame.event.get(),,從事件隊列中獲取一個事件,并從隊列中刪除該事件,這里用到了QUIT事件,也就是用戶按下窗口的關閉按鈕,然后退出pygame.有了主循環,我們可以長時間的觀察我們建立的窗口,也可對此窗口大小進行更改。
常用的enent事件有如下:
- QUIT:用戶按下窗口的關閉按鈕
- ATIVEEVENT:Pygame被激活或者隱藏
- KEYDOWN:鍵盤按下
- KEYUP:鍵盤放開
我們其實還可以用time.sleep()方法停留我們建立的窗口,以此來觀察其尺寸大小
import time#需要我們導入time模塊
再后面添加利用此函數
time.sleep(5)
此時我們便有5s觀察時間。
附:pygame 窗口無法正常關閉的解決方法
運行以下程序,將解決問題
import sys
import pygame
def run_game():
pygame.init()
screen = pygame.display.set_mode((1200,800))
pygame.display.set_caption("Apple")
#開始游戲的主循環
while True:
#監視鍵盤和鼠標事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
run_game()
總結
原文鏈接:https://blog.csdn.net/k1234hxh/article/details/124557488
相關推薦
- 2022-05-22 Nginx反向代理與負載均衡概念理解及模塊使用_nginx
- 2022-07-19 Python中的?Numpy?數組形狀改變及索引切片_python
- 2022-08-04 Go?slice切片使用示例詳解_Golang
- 2022-01-19 錯誤:Cannot construct instance of `xxxx` (no Creator
- 2023-02-09 Python去除html標簽的幾種方法總結_python
- 2022-07-18 Linux如何設置SSH免密登錄
- 2022-06-11 C#把DataTable導出為Excel文件_C#教程
- 2022-04-01 SQL?Server的存儲過程詳解_MsSql
- 最近更新
-
- 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同步修改后的遠程分支