在Pygame中,可以通过draw模块下的circle()函数来进行画圆。
1 准备工作的完成
在画圆之前需要导入Pygame模块、初始化Pygame模块以及创建Surface对象。
import pygame
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((600,500))
其中,screen是创建的Surface对象。
2 画圆的实现
2.1 circle()函数的用法
circle()函数有两种用法,一种是基本型用法,另一种是扩展性用法。
2.1.1 基本型用法
circle()函数基本型用法的格式是
circle(surface, color, center, radius)
其中,参数surface指的是要画圆的Surface对象;color指定了圆的颜色(由参数width决定该颜色是画圆的线的颜色还是填充色),该参数的类型是Color类或者表示颜色的元组;center指定了圆心的位置,其类型是Vector2类或者表示位置的元组或列表;radius表示圆的半径,该参数的类型是整型或者浮点型,如果该参数的值小于1,则不进行画圆的动作。circle()函数的返回值是Rect类型的变量,表示画出的圆的范围。
2.1.2 扩展性用法
circle()函数扩展型用法的格式是
circle(surface, color, center, radius, width=0, draw_top_right=None, draw_top_left=None, draw_bottom_left=None, draw_bottom_right=None)
其中参数surface、color、center和radius与基本型用法相同;width表示画圆的线的粗细程度,当width的值是0时,参数color表示圆的填充颜色,当width的值大于0时,参数color表示画圆的线的颜色,width表示线的粗细,当width的值小于0时,忽略color和width参数;接下来的四个参数分别指定是否只画圆的右上、左上、左下和右下四个部分,True表示只画指定部分。
2.2 circle()函数的使用
2.2.1 基本型的使用
circle()函数基本型的代码如下所示:
color = 255,0,0
center = 300,200
radius = 50
pygame.draw.circle(screen, color, center, radius)
pygame.display.update()
其中color、center和radius变量分别指定了要画圆的颜色、圆心位置和半径;screen是“1 准备工作的完成”中创建的Surface对象。pygame.display.update()函数的作用是将画的圆在screen中显示出来。代码运行效果如图1所示。
图1 基本型画圆
2.2.2 扩展型的使用
circle()函数扩展性的代码如下所示:
pygame.draw.circle(screen, color, center, radius,0,True, False,True,False)
其中,参数width的值0;draw_top_right和draw_bottom_left的值是True;draw_top_left和draw_bottom_right的值是False,画出的效果如图2所示。
图2 扩展型画圆