Pygame是一组功能强大而有趣的模块,可用于管理图形、动画乃至声音,可以让我们很轻松的开发复杂的游戏。通过使用Pygame来处理在屏幕上绘制图像等任务,不用考虑众多繁琐而艰难的编码的工作,而是将重点放在程序的高级逻辑上。
官网地址:https://www.python.org/downloads/
本系列博文使用的是Python3.6.8
64位系统可以下载Windows x86-64 executable installer,下载完成后双击Python安装包,然后通过图形界面安装,接着设置Python的安装路径,完后将Python3和Python3的Scripts目录配置到环境变量即可。
地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame,下载与Python版本对应的版本
最后确认是否正确安装:
from sys import exit # 导入sys库中的exit函数
import pygame # 导入pygame库
from pygame.locals import * # 导入pygame库中的一些常量
# 定义窗口的分辨率
SCREEN_WIDTH = 480
SCREEN_HEIGHT = 320
def run_game():
# 初始化游戏并创建一个屏幕对象
pygame.init()
# 初始化一个用于显示的窗口
# 对象screen是一个surface,在Pygame中,surface是屏幕的一部分,用于显示游戏元素
# 这里pygame.display.set_mode()返回的surface表示整个游戏窗口
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
# 设置窗口标题
pygame.display.set_caption("This is my first pygame-program")
# 开始游戏的主循环
while True:
# 监视键盘和鼠标事件
# 从消息队列中循环取
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
run_game()
程序运行结果如下:
pygame.display.flip() :在这里,它在每次执行while循环时都绘制一个空屏幕,并擦去旧屏幕,使得只有新屏幕可见。在我们移动游戏元素时,pygame.display.flip()将不断更新屏幕,以显示元素的新位置,并在原来的位置隐藏元素,从而营造平滑移动的效果。
from sys import exit # 导入sys库中的exit函数
import pygame # 导入pygame库
from pygame.locals import * # 导入pygame库中的一些常量
# 定义窗口的分辨率
SCREEN_WIDTH = 480
SCREEN_HEIGHT = 320
# 载入背景图
background = pygame.image.load('resources/image/background.jpg')
def run_game():
# 初始化游戏并创建一个屏幕对象
pygame.init()
# 初始化一个用于显示的窗口
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
# 设置窗口标题
pygame.display.set_caption("This is my first pygame-program")
# 开始游戏的主循环
while True:
# 绘制背景
screen.blit(background, (0, 0))
# 更新屏幕
pygame.display.update()
# 监视键盘和鼠标事件
# 从消息队列中循环取
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
run_game()
运行效果如下:
from sys import exit # 导入sys库中的exit函数
import pygame # 导入pygame库
from pygame.locals import * # 导入pygame库中的一些常量
# 定义窗口的分辨率
SCREEN_WIDTH = 480
SCREEN_HEIGHT = 320
# 载入背景图
# background = pygame.image.load('resources/image/background.jpg')
# 设置背景色
bg_color = (250, 0, 0)
def run_game():
# 初始化游戏并创建一个屏幕对象
pygame.init()
# 初始化一个用于显示的窗口
screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT))
# 设置窗口标题
pygame.display.set_caption("This is my first pygame-program")
# 开始游戏的主循环
while True:
# # 绘制背景
# screen.blit(background, (0, 0))
# # 更新屏幕
# pygame.display.update()
# 监视键盘和鼠标事件
# 从消息队列中循环取
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
# 每次循环时都会重绘屏幕,此处用背景色填充屏幕
screen.fill(bg_color)
# 局部刷新,pygame.display.flip()是屏幕的整体刷新
pygame.display.update()
run_game()
运行效果如下: