跳至正文
View Categories

1 min read

主要内容 #

  1. 模块介绍
  2. 模块参数说明
  3. 使用示例

收获 #

会使用draw模块画出常见形状。

1.模块介绍 #

pygame.draw是Pygame 中用于绘制图形的模块,可以用来绘制一些简单的图形状,比如矩形、多边形、圆形、直线、弧线等。

pygame.draw模块的常用方法如下表所示:

2.模块参数说明 #

下面通对上述一些方法的参数进行详细说明:
1) 绘制直线
绘制直线的语法格式如下:
pygame.draw.line(surface, color, start_pos, end_pos, width=1)
参数说明:
start_pos 和 end_pos 表示线段的起始位置,此处使用 [x,y] 来表示起始位置;
width =1 表示直线的宽度,默认为 1。
具体用法如下:

pygame.draw.line(screen, (0, 255, 0), [0, 0], (500, 450), 3)

2)绘制矩形
绘制矩形的语法格式如下:
pygame.draw.rect(surface, color, rect, width)
参数说明如下:
1.surface:指主游戏窗口,无特殊情况,一般都会绘制在主屏幕上;
2.color:该参数用于该图形着色;
3.rect:绘制图形的位置和尺寸大小;
4.width:可选参数,指定边框的宽度,默认为 0,表示填充该矩形区域。
注意,当 width > 0 时,表示线框的宽度;而 width < 0 时,此时不会绘制任何图形。
具体用法如下:

pygame.draw.rect(screen, (155, 155, 155), (75, 10, 50, 20), 0)

3) 绘制圆形
绘制圆形的语法格式如下:
pygame.circle(surface, color, pos, radius, width=0)
上述参数的含义如下:
1.pos:该参数用来指定的圆心位置;
2.radius:用来指定圆的半径;
具体用法如下:

 pygame.draw.circle(screen, (0, 0, 255), [60, 250], 40)

4) 绘制多边形
绘制多边形的语法格式如下:
pygame.draw.polygon(surface, color, points, width)
其中 points 一个列表参数,它表示组成多边形顶点的 3 或者多个 (x,y) 坐标,通过元组或者列表来表示这些多边形顶点。其余参数与上述函数相同。
具体用法如下:

pygame.draw.polygon(screen, (255, 0, 255), [[100, 100], [0, 200], [200, 200]], 2)

3.使用示例 #

下面通过一组简单的示例对上述绘图方法进行演示:

import pygame
from math import pi

#初始化
pygame.init()
# 设置主屏幕大小
size = (500, 450)
screen = pygame.display.set_mode(size)
#设置标题
pygame.display.set_caption("大师码")

# 设置一个控制主循环的变量
done = False

while not done:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True  # 若检测到关闭窗口,则将done置为True

    # 绘制一条宽度为 3 的绿色对角线
    pygame.draw.line(screen, (0, 255, 0), [0, 0], (500, 450), 3)

    # 绘制一个灰色的矩形区域,以灰色填充区域
    pygame.draw.rect(screen, (155, 155, 155), (75, 10, 50, 20), 0)

    # 绘制一个紫色边框(宽度为2)三角形
    pygame.draw.polygon(screen, (255, 0, 255), [[100, 100], [0, 200], [200, 200]], 2)

    # 绘制一个蓝色实心的圆形,其中[60,250]表示圆心的位置,40为半径,width默认为0
    pygame.draw.circle(screen, (0, 0, 255), [60, 250], 40)

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

# 点击关闭,退出pygame程序
pygame.quit()

程序的运行结果如下所示:

拓展练习:绘制一个绿色边框(宽度为2)三角形。

小结 #

本节主要介绍了pygame.draw模块中绘制矩形、多边形、圆形、直线、弧线等的函数方法。

练习 #

1.绘制一个黑色的矩形区域,以灰色填充区域。
2.绘制一个实心的绿色椭圆形。
3.绘制一个红色边框(宽度为3)的三角形。