主要内容 #
- 模块介绍
- 模块参数说明
- 使用示例
收获 #
会使用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)的三角形。