📜  Pygame 入门

📅  最后修改于: 2022-05-13 01:55:01.028000             🧑  作者: Mango

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()。

它是任何游戏中最慢的操作之一,所以我们在使用它时需要小心,因为我们不应该在每一帧的屏幕上闪烁太多。

代码:

蟒蛇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()

输出 :