在Pygame中,使用pygame.draw模块中的arc()函数在屏幕中画圆弧。
1 准备工作的完成
在画圆弧之前需要导入Pygame模块、初始化Pygame模块以及创建Surface对象。
import math import pygame, sys from pygame.locals import * pygame.init() screen = pygame.display.set_mode((600,500)) pygame.display.set_caption("绘制弧度")
其中,screen是创建的Surface对象,pygame.display.set_caption()函数设置创建的screen的标题。因为在pygame.draw.arc()函数中用到了弧度参数,所以需要导入math模块获取弧度。
2 画弧度的实现
2.1 pygame.draw.arc()函数的用法
pygame.draw.arc()函数有两种用法,一种是基本型用法,另一种是扩展性用法。
2.1.1 基本型用法
pygame.draw.arc()函数基本型用法的格式是
arc(surface, color, rect, start_angle, stop_angle)
其中,surface是要画圆弧的Surface对象;color指定了圆弧的颜色;rect指定了能够包围圆弧对应的整个圆的矩形,圆弧对应的整个圆位于这个矩形的中心位置,即圆弧的边界;该参数指定了这个圆弧的位置和半径;start_angle和end_angle指定了圆弧的起始角度和结束角度,用弧度表示。
相关链接1 角度与弧度,角度和弧度是表示角的两种不同单位,一个完整的圆的角度是360°,弧度是2π,即1°=π/180弧度。
该函数的返回值是Rect类的对象,表示所画圆弧所在的矩形区域。
2.1.2 扩展型用法
pygame.draw.arc()函数扩展型用法的格式是
arc(surface, color, rect, start_angle, stop_angle, width=1)
其中,前面的参数与基本型用法的含义相同,width参数指定了画圆弧线的粗细程度,默认值是1。
2.2 pygame.draw.arc()函数的使用
使用如下代码在Surface中画圆弧。
screen.fill((0,0,200)) color = 255, 0, 255 rect = 200, 150, 200, 200 start_angle = math.radians(0) stop_angle = math.radians(180) width = 8 pygame.draw.arc(screen, color, rect, start_angle, stop_angle, width) pygame.display.update()
其中,screen.fill()函数的作用是指定Surface的填充颜色;math.radians()函数的作用是将角度转换为弧度,因为角度的取值是0-180,所以画出的圆弧是个半圆,效果如图1所示。