Pygame 入门
Pygame是一组免费使用的开源Python模块。顾名思义,它可以用来构建游戏。您可以对游戏进行编码,然后使用特定命令将其更改为可执行文件,您可以与朋友分享该文件,向他们展示您所做的工作。它包括旨在与Python编程语言一起使用的计算机图形和声音库。 PyGame 2.0.1 是撰写本文时的最新版本。
设置 Pygame:
默认情况下, Python不附带 PyGame 作为内置库。所以我们必须使用命令提示符安装它。打开命令提示符并键入以下命令:
pip install pygame
如果您已经安装了 PyGame,请使用以下命令检查版本:
pip show pygame
如果您的 Pygame 未更新到最新版本,请使用以下命令:
pip install pygame --upgrade
如果此命令显示 ModuleNotFoundError,则很明显 pygame 未安装。
简单的 PyGame 示例:
使用的函数:
- pygame.init():该命令用于启动pygame模块。
- pygame.display.set_mode((500,500)):此命令用于制作所需大小(宽度、高度)的窗口。返回值是一个 Surface 对象,它是我们执行不同图形操作的对象。
- pygame.display.set_caption(title = “”):该命令用于设置窗口/板的标题。
- pygame.event.get():用于清空事件队列。如果我们不调用它,窗口消息将开始堆积,操作系统认为游戏将变得无响应。
- pygame.QUIT:用于在我们点击窗口角落的关闭按钮时终止事件。
Python3
import pygame
pygame.init()
# CREATING CANVAS
canvas = pygame.display.set_mode((500, 500))
# TITLE OF CANVAS
pygame.display.set_caption("My Board")
exit = False
while not exit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit = True
pygame.display.update()
Python3
import pygame
pygame.init()
color = (255,255,255)
position = (0,0)
# CREATING CANVAS
canvas = pygame.display.set_mode((500,500))
# TITLE OF CANVAS
pygame.display.set_caption("Show Image")
image = pygame.image.load("Screenshot.png")
exit = False
while not exit:
canvas.fill(color)
canvas.blit(image, dest = position)
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit = True
pygame.display.update()
Python3
import pygame
pygame.init()
color = (255,255,255)
rect_color = (255,0,0)
# CREATING CANVAS
canvas = pygame.display.set_mode((500,500))
# TITLE OF CANVAS
pygame.display.set_caption("Show Image")
image = pygame.image.load("Screenshot.png")
exit = False
while not exit:
canvas.fill(color)
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit = True
pygame.draw.rect(canvas, rect_color,
pygame.Rect(30,30,60,60))
pygame.display.update()
输出:
将图像添加到 Pygame 窗口:
Blitting 是将游戏对象渲染到表面的过程。当我们创建游戏对象时,我们应该渲染它。如果我们不渲染游戏对象,它将显示黑色窗口。在 pygame 中,有一种方法可以执行此 blitting 过程,即blit()。
它是任何游戏中最慢的操作之一,所以我们在使用它时需要小心,因为我们不应该在每一帧的屏幕上闪烁太多。
Syntax: blit(src, dest)
src : It is the source of the image which we want to display on the screen
dest : It is the coordinates where we want our image to be displayed.
代码:
蟒蛇3
import pygame
pygame.init()
color = (255,255,255)
position = (0,0)
# CREATING CANVAS
canvas = pygame.display.set_mode((500,500))
# TITLE OF CANVAS
pygame.display.set_caption("Show Image")
image = pygame.image.load("Screenshot.png")
exit = False
while not exit:
canvas.fill(color)
canvas.blit(image, dest = position)
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit = True
pygame.display.update()
输出:
Pygame 窗口中的矩形框:
在 Pygame 中,我们使用rect()方法在窗口上绘制矩形框。 Pygame 使用Rect对象来存储和操作矩形区域。它可以由 left、top、width 和 height 值的组合形成。
蟒蛇3
import pygame
pygame.init()
color = (255,255,255)
rect_color = (255,0,0)
# CREATING CANVAS
canvas = pygame.display.set_mode((500,500))
# TITLE OF CANVAS
pygame.display.set_caption("Show Image")
image = pygame.image.load("Screenshot.png")
exit = False
while not exit:
canvas.fill(color)
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit = True
pygame.draw.rect(canvas, rect_color,
pygame.Rect(30,30,60,60))
pygame.display.update()
输出 :