網(wǎng)站首頁 編程語言 正文
1.首先,我們需要導入幾個相關(guān)模塊
import pygame
import sys
from pygame.locals import *
2,初始化游戲
pygame.init()#是一定要添加的
與其對應(yīng)的是pygame.quit(),關(guān)閉pygame。
3,創(chuàng)建窗口及標題
screen = pygame.display.set_mode(size=(1118,633),flags=0,depth=32)#繪制屏幕大小及相關(guān)數(shù)據(jù)
pygame.display.set_caption('小游戲')#設(shè)置標題
background = pygame.image.load('')#加載背景圖片,括號里填圖片位置
screen.blit(background,(0,0))#繪制背景圖片位置,括號內(nèi)表示坐標
pygame.display.update()#記得刷新屏幕,很重要
pygame.display.set_mode()函數(shù)中size=(a,b)表示繪制屏幕尺寸大小,a,b分別代表長和寬,
pygame中坐標情況如下:
這里要注意:其原點在左上角。
flags是標志位,默認為0。
對其常見相關(guān)參數(shù)說明 :
- flags = 0?用戶設(shè)置的窗口大小
- flags =?pygame.FULLSCREEN 創(chuàng)建一個全屏窗口
- flags = pygame.RESIZABLE 創(chuàng)建一個可以改變大小的窗口
- flags = pygame.NOFRAME 創(chuàng)建一個沒有邊框的窗口
- flags = pygame.OPENGL 創(chuàng)建一個OPENGL渲染的窗口
depth 是顏色位數(shù)
8位:含有256種顏色
16位:包含高達65000種顏色
32位:包含4294967296種顏色
4,創(chuàng)建主循環(huán)
while True :
for event in pygame.event.get() :
if event.type == QUIT :
pygame.quit()
sys.quit()
pygame.event.get(),,從事件隊列中獲取一個事件,并從隊列中刪除該事件,這里用到了QUIT事件,也就是用戶按下窗口的關(guān)閉按鈕,然后退出pygame.有了主循環(huán),我們可以長時間的觀察我們建立的窗口,也可對此窗口大小進行更改。
常用的enent事件有如下:
- QUIT:用戶按下窗口的關(guān)閉按鈕
- ATIVEEVENT:Pygame被激活或者隱藏
- KEYDOWN:鍵盤按下
- KEYUP:鍵盤放開
我們其實還可以用time.sleep()方法停留我們建立的窗口,以此來觀察其尺寸大小
import time#需要我們導入time模塊
再后面添加利用此函數(shù)
time.sleep(5)
此時我們便有5s觀察時間。
附:pygame 窗口無法正常關(guān)閉的解決方法
運行以下程序,將解決問題
import sys
import pygame
def run_game():
pygame.init()
screen = pygame.display.set_mode((1200,800))
pygame.display.set_caption("Apple")
#開始游戲的主循環(huán)
while True:
#監(jiān)視鍵盤和鼠標事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
run_game()
總結(jié)
原文鏈接:https://blog.csdn.net/k1234hxh/article/details/124557488
相關(guān)推薦
- 2022-09-24 pandas刪除某行或某列數(shù)據(jù)的實現(xiàn)示例_python
- 2022-08-05 RedisConfig 配置文件
- 2022-06-17 Ruby操作CSV格式數(shù)據(jù)方法詳解_ruby專題
- 2023-04-07 C#?async/await任務(wù)超時處理的實現(xiàn)_C#教程
- 2022-05-02 python庫h5py入門詳解_python
- 2022-10-23 Python?Pandas數(shù)據(jù)合并pd.merge用法詳解_python
- 2022-07-07 淺談Redis的異步機制_Redis
- 2022-06-07 淺談Python中對象是如何被調(diào)用的_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支