《Python游戏编程入门》注-第2章2

《Python游戏编程入门》的"2.2.5 绘制线条"中提到了通过pygame库绘制线条的方法。

1 相关函数介绍

通过pygame.draw模块中的line()函数来绘制线条,该函数的格式如下所示。

python 复制代码
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 完整代码

绘制线条的完整代码如下所示。

python 复制代码
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 在程序运行后,按下任意按键程序退出。

相关推荐
java1234_小锋1 小时前
Scikit-learn Python机器学习 - 特征降维 压缩数据 - 特征提取 - 主成分分析 (PCA)
python·机器学习·scikit-learn
java1234_小锋1 小时前
Scikit-learn Python机器学习 - 特征降维 压缩数据 - 特征提取 - 线性判别分析 (LDA)
python·机器学习·scikit-learn
思辨共悟2 小时前
Python的价值:突出在数据分析与挖掘
python·数据分析
计算机毕业设计木哥2 小时前
计算机毕设选题:基于Python+Django的B站数据分析系统的设计与实现【源码+文档+调试】
java·开发语言·后端·python·spark·django·课程设计
中等生3 小时前
Pandas 与 NumPy:数据分析中的黄金搭档
后端·python
用户8356290780513 小时前
Python查找替换PDF文字:告别手动,拥抱自动化
后端·python
星哥说事3 小时前
Python自学12 — 函数和模块
开发语言·python
THMAIL4 小时前
深度学习从入门到精通 - 迁移学习实战:用预训练模型解决小样本难题
人工智能·python·深度学习·算法·机器学习·迁移学习
和小胖11225 小时前
第一讲 Vscode+Python+anaconda 安装
python
和小胖11225 小时前
第二讲 Vscode+Python+anaconda 高阶环境配置
ide·vscode·python