中文编程pygame游戏教程3_绘制图形


(账号主页有同名详细介绍视频, 请结合观看)
pygame.绘图.方法名()可以在表层对象上绘制各种简单的形状, 比如屏幕表层.
矩形
多边形
圆
椭圆
这些函数的共同点是:
将表层(Surface)对象作为第一个参数
将颜色作为第二个参数
将宽度参数作为最后一个参数
返回一个保存了位置信息的区块(Rect)对象,
宽度参数: 如果宽度为 0,则填充形状。否则为形状的线条轮廓粗细程度.
绘制矩形
下面首先绘制背景颜色,然后添加三个重叠的实心矩形, 在它旁边有三个线宽增加的平行重叠矩形:
你可以尝试修改参数并使用绘图功能。
绘制实心和轮廓椭圆
下面的代码首先绘制背景色,然后添加三个重叠的实心椭圆 在它旁边有三个线宽增加的平行重叠椭圆:
检测鼠标
按下鼠标按钮将生成 鼠标按下事件 和 鼠标松开事件 事件。 移动鼠标会产生鼠标移动事件. 我们可以在代码中使用下面的方式检测到这些事件:
用鼠标绘制一个矩形
我们可以利用这三个事件在屏幕上画一个矩形。 我们通过对角线起点和终点来定义矩形。 我们还需要一个标志来指示鼠标按钮是否按下以及我们是否正在绘制:
当按下鼠标按钮时,我们将开始点设置为当前鼠标位置, 并标记绘图模式已启动的标志:
当鼠标按钮被松开释放时,我们设置结束点, 并用标志指示绘图模式已结束:
当鼠标移动时,我们还必须检查我634119们是否在 绘图模式。如果是,我们将结束位置设置为当前鼠标位置:
最后,我们将矩形绘制到屏幕上。注意要在填充背景色后, 更新屏幕之前:
g.绘图.矩形(屏幕, 'blue', (开始点, 大小), 1)
绘制多个形状
上面的代码一次只能绘制一个矩形, 要绘制多个形状,我们需要将它们放入列表中。除了之前的变量之外,我们还添加一个矩形列表:
绘制对象(矩形、圆形等)时,在鼠标松开事件 中,我们创建一个矩形并将其附加到矩形列表中:
填充背景颜色之后,遍历矩形列表绘制对象, 同时我们换一种颜色绘制当前正在绘制的矩形:
这是完整的文件:
用鼠标画多边形
要绘制多边形,我们需要将点添加到点列表中。首先,我们定义一个空点列表和一个绘图标志:
在 鼠标按下事件中,我们将当前点添加到列表中,然后 将标志设置为 真:
在 鼠标松开事件中,我们停用该标志:
在 鼠标移动事件中,我们设置多边形列表中的最后一个点 为当前鼠标位置:
如果点列表中有超过 2 个点,我们绘制一条多边形线。 每个函数返回一个边界矩形。 我们以绿色显示此边界矩形
再增加一个小功能, 按 ESCAPE 键可以删除列表中的最后一个点:
这是完整的文件: