概述
Pygame 是一個(gè)跨平臺(tái)的 Python 模塊, 專為電子游戲設(shè)計(jì). Pygame 在已經(jīng)非常優(yōu)秀的 SDL 庫(kù)的基礎(chǔ)上增加了許多功能.
Pygame 的安裝
安裝命令:
pip install pygame
導(dǎo)入 Pygame 包:
import pygame
Pygame 基礎(chǔ)命令
pygame.locals 模塊
pygame.locals
模塊包括了 pygame 中定義的各種常量.
導(dǎo)入所有常量
from pygame.locals import *
pygame.init()
pygame.init()
是啟動(dòng) pygame 并初始化的命令, 類似 python 中的__init__
.
例子:
# 導(dǎo)入模塊
import pygame
# 初始化 pygame
pygame.init()
pygame.display.set_mode()
pygame.display.set_mode()
是初始化 pygame 窗口的命令.
格式:
pygame.display.set_mode(size=(0, 0), flags=0, depth=0, display=0, vsync=0)
參數(shù):
- size: 窗口大小 (分辨率), 類型為元組, 分別表示寬和高
- flags: 額外參數(shù)
- depth: 位深 (色彩深度)
- display: 顯示模式, 可以使用 & 或 | 一次設(shè)置 2 種模式
- pygame.FULLSCREEN: 全屏
- pygame.DOUBLEBUF: OPENGL 兼容
- pygame.HWSURFACE: 硬件加速
- pygame.OPENGL: 可使用 OpenGl 的顯示
- pygame.RESIZABLE: 可調(diào)整大小的顯示
- pygame.SCALED: 適應(yīng)電腦屏幕大小
- pygame.SHOWN: 可視 (默認(rèn))
- pygame.HIDDEN: 隱藏
例子:
# 顯示一個(gè)分辨率 600*400 的窗口
screen = pygame.display.set_mode((600, 400))
案例
import pygame
import sys
# 導(dǎo)入pygame中的常量
from pygame.locals import *
# 初始化pygame
pygame.init()
# 設(shè)置游戲窗口的尺寸, set_mode 函數(shù)的參數(shù)用元組表示尺寸 (width和height)
pygame.display.set_mode((600, 600))
# 捕獲游戲的事件
typelist = [QUIT]
while True:
# 獲取事件
for event in pygame.event.get():
# 接收到退出事件, 退出程序
if event.type in typelist:
sys.exit() # 退出
Pygame 顯示文字
pygame.font.Font()
pygame.font.Font()
可以幫助我們來設(shè)置字體和字體大小.
格式:
pygame.font.Font(filename, size)
參數(shù):
- filename: 字體文件路徑
- size: 字體大小
例子:
# 設(shè)置字體和字號(hào)
myFont = pygame.font.Font(None, 60)
fill()
screen.fill()
用于填充 pygame 窗口背景色的命令.
格式:
screen.fill(color, rect=None, special_flags=0)
參數(shù):
- color: 背景的顏色, RGB
- rect: 顏色填充的范圍
- special_flags: 額外參數(shù)
例子:
screen.fill((0, 0, 200)
render()
Font.render()
用于創(chuàng)建文本并轉(zhuǎn)換為圖像.
格式:
Font.render(text, antialias, color, background=None)
參數(shù):
- text: 文字
- antialias: 反鋸齒, True / False
- color: 顏色, 格式 RGB
- background: 背景顏色, 默認(rèn)為 None
例子:
textImage = myFont.render("Hello Pygame", True, (255, 255, 0)
blit()
screen.blit()
用于將圖像顯示到我們要顯示的地方.
格式:
screen.blit(source, dest, area=None, special_flags=0)
參數(shù):
- source: 需要移動(dòng)的表面 (圖像)
- dest: 目標(biāo)位置, 類型元組
- area: 顯示面積, 默認(rèn)為 None
- special_flags: 額外參數(shù)
例子:
screen.blit(textImage, (10, 60))
pygame.display.update()
pygame.display.update()
用于更新顯示.
案例
顯示英文
代碼:
import pygame
from pygame.locals import *
import sys
yellow = (255, 255, 0) # 文字顏色
blue = (0, 0, 200) # 背景顏色
# 初始化 pygame
pygame.init()
# 設(shè)置窗口尺寸
screen = pygame.display.set_mode((600, 400))
# 設(shè)置字體和字號(hào)
myFont = pygame.font.Font(None, 60)
# 將文字轉(zhuǎn)換為圖像, 消除鋸齒
textImage = myFont.render("Hello Pygame", True, yellow)
# 填充背景
screen.fill(blue)
# 顯示文字
screen.blit(textImage, (10, 60))
# 更新顯示
pygame.display.update()
# 捕獲游戲事件
typelist = [QUIT]
while True:
# 獲取事件
for event in pygame.event.get():
# 接收到退出事件, 退出程序
if event.type in typelist:
sys.exit() # 退出
輸出結(jié)果:
顯示中文
代碼:
import pygame
from pygame.locals import *
import sys
yellow = (255, 255, 0) # 文字顏色
blue = (0, 0, 200) # 背景顏色
# 初始化 pygame
pygame.init()
# 設(shè)置窗口尺寸
screen = pygame.display.set_mode((600, 400))
# 設(shè)置字體和字號(hào) (仿宋)
myFont = pygame.font.Font("C:\Windows\Fonts\simfang.ttf", 60)
# 將文字轉(zhuǎn)換為圖像, 消除鋸齒
textImage = myFont.render("你好 Pygame", True, yellow)
# 填充背景
screen.fill(blue)
# 顯示文字
screen.blit(textImage, (10, 60))
# 更新顯示
pygame.display.update()
# 捕獲游戲事件
typelist = [QUIT]
while True:
# 獲取事件
for event in pygame.event.get():
# 接收到退出事件, 退出程序
if event.type in typelist:
sys.exit() # 退出
輸出結(jié)果:文章來源:http://www.zghlxwxcb.cn/news/detail-424523.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-424523.html
到了這里,關(guān)于Pygame 游戲開發(fā) 基礎(chǔ)知識(shí)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!