一、效果演示
二、代码详解
import pygame # 导入pygame游戏开发库
import sys # 导入系统模块用于退出程序
from pygame.locals import * # 导入pygame的常量(如事件类型)Quit
pygame.init() # 初始化pygame所有模块,确保各个模块正常运行
DS = pygame.display.set_mode( (1280, 600) ) # 创建1280x600像素的显示窗口,DS为显示表面对象
image = pygame.image.load('pic/other/back.png') # 加载背景图片
image = pygame.transform.scale(image, (1280, 600)) # 将背景图片缩放到1280x600像素
# 主游戏循环
while True:
# 事件处理
for event in pygame.event.get():#等待操作系统抛出事件
if event.type == QUIT: # 如果检测到退出事件(如点击关闭按钮)
pygame.quit() # 关闭pygame模块
sys.exit() # 终止Python程序
#R G B
DS.fill( (255, 255, 255) ) # 用纯白色填充整个屏幕
DS.blit(image, image.get_rect()) # 将背景图片绘制到屏幕上,使用图片的矩形区域作为位置参数
pygame.display.update() # 更新画面显示(将绘制内容刷新到屏幕)
Summary:
1.pygame.display.set_mode() 创建显示窗口,传入参数(长,宽)
2.pygame.image.load('路径') 加载图片(需要将加载的图片放到一个实体中储存)
3.pygame.transform.scale(图片对象,(缩放的长,宽)) 将图片缩放至指定长款
4.对于游戏窗口需要建立一个循环函数来监听事件
5. DS.fill() 屏幕底色填充
6.DS.blit(image, image.get_rect()) 将图片绘制到屏幕上,get_rect()自动定位框,默认从左上角开始坐标点位(0,0),定位框后续可以使用 居中 center,左上角 topleft 等定位。
7. pygame.display.update() 将背景图片更新到屏幕,无此操作无法显示图片
Tips: pygame.quit()和sys.exit()的作用与区别
pygame.quit():负责清理 Pygame 的资源(如窗口、音频)。
sys.exit(): 负责终止整个 Python 程序。
-
如果只调用
pygame.quit()
,程序可能仍在运行但无窗口显示(如后台卡死)。 -
如果只调用
sys.exit()
,Pygame 资源可能未释放(如音频设备占用)。
通常两个同时使用