📜  Python|在 PyGame 窗口上绘制不同的形状(1)

📅  最后修改于: 2023-12-03 14:46:27.303000             🧑  作者: Mango

Python 在 PyGame 窗口上绘制不同的形状

PyGame 是 Python 语言中非常流行的 2D 游戏开发库,它提供了许多常用的游戏编程接口,支持多种音频、视频和输入设备,还能够在不同的操作系统上运行。同时,PyGame 中也有一些非常实用的函数,可以用于绘制各种形状,并且还能够自定义颜色、大小、线宽等属性。

目录
  • 准备工作
  • 绘制矩形
  • 绘制圆形
  • 绘制线段
  • 绘制多边形
  • 绘制文本
准备工作

在使用 PyGame 进行绘制之前,需要先安装 PyGame 库和 Python 程序开发环境。具体安装方法可以参考 PyGame 官方文档,这里不再赘述。

绘制矩形

在 PyGame 中,可以使用 pygame.draw.rect() 来绘制矩形。这个函数接受五个参数:游戏窗口、颜色(RGB 或 RGBA 格式)、矩形的位置(左上角坐标)、矩形的尺寸(宽度和高度)以及可选的线宽。

import pygame

pygame.init()
screen = pygame.display.set_mode((800, 600))
color = (255, 0, 0)  # RGB 颜色值:红色
rect = (100, 100, 200, 100)  # 矩形的位置和尺寸
pygame.draw.rect(screen, color, rect, 1)  # 绘制矩形
pygame.display.flip()

矩形的位置和尺寸可以通过 pygame.Rect 对象来表示,这个对象有许多实用的方法,比如可以使用 x、y、width、height 属性分别获取矩形的左上角坐标、宽度和高度。

绘制圆形

在 PyGame 中,可以使用 pygame.draw.circle() 来绘制圆形。这个函数接受五个参数:游戏窗口、颜色(RGB 或 RGBA 格式)、圆心坐标、半径以及可选的线宽。

import pygame

pygame.init()
screen = pygame.display.set_mode((800, 600))
color = (0, 255, 0)  # RGB 颜色值:绿色
center = (400, 300)  # 圆心坐标
radius = 50  # 半径
pygame.draw.circle(screen, color, center, radius, 1)  # 绘制圆形
pygame.display.flip()
绘制线段

在 PyGame 中,可以使用 pygame.draw.line() 来绘制线段。这个函数接受五个参数:游戏窗口、颜色(RGB 或 RGBA 格式)、起点坐标、终点坐标以及可选的线宽。

import pygame

pygame.init()
screen = pygame.display.set_mode((800, 600))
color = (0, 0, 255)  # RGB 颜色值:蓝色
start = (100, 100)  # 起点坐标
end = (700, 500)  # 终点坐标
pygame.draw.line(screen, color, start, end, 1)  # 绘制线段
pygame.display.flip()
绘制多边形

在 PyGame 中,可以使用 pygame.draw.polygon() 来绘制多边形。这个函数接受五个参数:游戏窗口、颜色(RGB 或 RGBA 格式)、各个顶点的坐标,以及可选的线宽。

import pygame

pygame.init()
screen = pygame.display.set_mode((800, 600))
color = (255, 255, 0)  # RGB 颜色值:黄色
vertices = [(100, 100), (200, 200), (300, 150), (400, 400), (500, 300)]  # 各个顶点的坐标
pygame.draw.polygon(screen, color, vertices, 1)  # 绘制多边形
pygame.display.flip()
绘制文本

在 PyGame 中,可以使用 pygame.font.Font() 和 render() 来生成并绘制文本。这个函数接受四个参数:字体文件名、字体大小、字体颜色和背景色。注意,PyGame 中字体必须先进行初始化,可以在程序中调用 pygame.font.init() 进行初始化。

import pygame

pygame.init()
screen = pygame.display.set_mode((800, 600))
font = pygame.font.Font(None, 36)  # 字体文件名和大小,None 表示使用系统默认字体
color = (255, 255, 255)  # 字体颜色:白色
text = font.render('Hello, PyGame!', True, color)  # 生成文本
position = text.get_rect()  # 获取文本的位置
position.center = (400, 300)  # 设置文本的位置
screen.blit(text, position)  # 绘制文本
pygame.display.flip()

综上所述,PyGame 是一个非常实用的 2D 游戏开发库,提供了丰富的函数和接口,可以用来实现各种形状的绘制、音频和视频播放、输入设备操作等功能。如果您正在学习 Python 编程和游戏开发,那么 PyGame 绝对是一个值得尝试的工具。