📜  如何在 pygame 中绘图 - Python (1)

📅  最后修改于: 2023-12-03 15:38:23.126000             🧑  作者: Mango

如何在 Pygame 中绘图 - Python

Pygame 是一个用于开发 2D 游戏的 Python 库。它提供了一些简单易用的绘图函数,使得构建游戏界面变得非常简单。

本文将介绍如何在 Pygame 中进行绘图,包括创建窗口、绘制形状、填充颜色等操作。

安装 Pygame

首先,需要安装 Pygame 库。在命令行中运行以下命令进行安装:

pip install pygame
创建窗口

要在 Pygame 中进行绘图,首先要创建一个窗口,代码如下:

import pygame

pygame.init()

# 窗口大小
width = 800
height = 600

# 创建窗口
screen = pygame.display.set_mode((width, height))

# 设置标题
pygame.display.set_caption("Pygame 绘图")

# 循环处理事件
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

在上面的代码中,pygame.init() 函数初始化 Pygame 库,pygame.display.set_mode() 函数创建了一个指定大小的窗口,通过 pygame.display.set_caption() 函数可以设置窗口标题。

在主循环中,通过 pygame.event.get() 函数获取事件并进行处理。当 event.type 等于 pygame.QUIT 时,表示用户关闭了窗口,此时通过 pygame.quit()sys.exit() 函数退出程序。

绘制形状

Pygame 提供了多种绘制形状的函数,包括线段、矩形、圆形等。

绘制线段

要绘制一条线段,可以使用 pygame.draw.line() 函数,代码如下:

import pygame

pygame.init()

# 窗口大小
width = 800
height = 600

# 创建窗口
screen = pygame.display.set_mode((width, height))

# 绘制线段
pygame.draw.line(screen, (255, 255, 0), (0, 0), (width, height), 5)

# 设置标题
pygame.display.set_caption("Pygame 绘图")

# 刷新屏幕
pygame.display.flip()

# 循环处理事件
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

在上面的代码中,使用 pygame.draw.line() 函数绘制了一条从左上角到右下角的黄色线段,线宽为 5。前两个参数分别为 surfacecolor,表示绘制到哪个表面和线段颜色;后两个参数为线段的起点和终点。

绘制矩形

要绘制矩形,可以使用 pygame.draw.rect() 函数,代码如下:

import pygame

pygame.init()

# 窗口大小
width = 800
height = 600

# 创建窗口
screen = pygame.display.set_mode((width, height))

# 绘制矩形
pygame.draw.rect(screen, (0, 255, 0), pygame.Rect(100, 100, 200, 150), 2)

# 设置标题
pygame.display.set_caption("Pygame 绘图")

# 刷新屏幕
pygame.display.flip()

# 循环处理事件
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

在上面的代码中,使用 pygame.draw.rect() 函数绘制了一个绿色边框的矩形,左上角坐标为 (100, 100),宽度为 200,高度为 150,线宽为 2。

绘制圆形

要绘制圆形,可以使用 pygame.draw.circle() 函数,代码如下:

import pygame

pygame.init()

# 窗口大小
width = 800
height = 600

# 创建窗口
screen = pygame.display.set_mode((width, height))

# 绘制圆形
pygame.draw.circle(screen, (0, 0, 255), (400, 300), 100, 0)

# 设置标题
pygame.display.set_caption("Pygame 绘图")

# 刷新屏幕
pygame.display.flip()

# 循环处理事件
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

在上面的代码中,使用 pygame.draw.circle() 函数绘制了一个蓝色实心的圆形,中心点坐标为 (400, 300),半径为 100。

填充颜色

要填充颜色,可以使用 pygame.Surface.fill() 函数,代码如下:

import pygame

pygame.init()

# 窗口大小
width = 800
height = 600

# 创建窗口
screen = pygame.display.set_mode((width, height))

# 填充颜色
screen.fill((255, 255, 255))

# 设置标题
pygame.display.set_caption("Pygame 绘图")

# 刷新屏幕
pygame.display.flip()

# 循环处理事件
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

在上面的代码中,使用 pygame.Surface.fill() 函数填充了整个窗口的背景为白色。

总结

本文介绍了 Pygame 的基本绘图操作,包括创建窗口、绘制形状和填充颜色。熟练掌握这些操作,可以让开发 Pygame 游戏变得更加简单。