《Python游戏编程入门》的“2.2.5 绘制线条”中提到了通过pygame库绘制线条的方法。
1 相关函数介绍
通过pygame.draw模块中的line()函数来绘制线条,该函数的格式如下所示。
line(surface, color, start_pos, end_pos, width=1) -> Rect
其中,第一个参数surface表示用来绘制线条的“表面”,其类型是Surface类实例;参数color表示线条的颜色,其类型是表示RGB的元组;参数start_pos和end_pos表示线条的起点和终点;参数width表示线条的粗细,该参数的默认值是1。line()函数的返回值是Rect类的实例。
2 函数使用方法
使用《Pygame显示文字》中提到的pygame编程框架,在while True语句中,获取了按键信息之后,使用如图1所示的代码绘制线条。
图1 绘制线条代码
其中,第17-20行分别定义了绘制线条所需的颜色、宽度、起点和终点的变量;第21行代码抵用pygame.draw模块中的line()函数绘制线条,代码运行的效果如图2所示。
图2 代码运行效果
3 完整代码
绘制线条的完整代码如下所示。
import pygame
import sys
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((600,500))
pygame.display.set_caption('Drawing lines')
while True:
for event in pygame.event.get():
if event.type in (QUIT, KEYDOWN):
pygame.quit()
sys.exit()
screen.fill((0, 80, 0))
color = (100, 255, 200)
width = 8
start_pos = (100, 100)
end_pos = (500, 400)
pygame.draw.line(screen, color, start_pos, end_pos, width)
pygame.display.update()
注意1 在程序运行后,按下任意按键程序退出。