pygame绘画模块例子集.py

"""pygame绘画模块例子集.py,本模块是在surface上画矩形,圆形,线等等的,screen是一个窗口中渲染的图层surface,一般位于最底层,以下的图形都是画在这个surface上面

"""
 
# 导入派gei模块
import pygame
 
# 初始化派gei引擎
pygame.init()
 
# 定义RGB格式颜色
black = (0, 0, 0)
white = (255, 255, 255)
blue = (0, 0, 255)
green = (0, 255, 0)
red = (255, 0, 0)
 
pi = 3.141592653
 
# 设置屏幕宽度和高度,新建屏幕对象
size = [400, 300]
screen = pygame.display.set_mode(size)
 
pygame.display.set_caption("pygame绘画模块例子集")
 
# 控制while循环结束的变量
done = False
clock = pygame.time.Clock()
 
while not done:
 
    for event in pygame.event.get():
        if event.type == pygame.QUIT:# 单击关闭按钮此事件发生
            done = True
 
    # 设置背景颜色为白色 
    screen.fill(white)
 
    # 在screen上画根绿色的线条,坐标从 (0,0) 到 (50,30),宽度为 5 个像素
    pygame.draw.line(screen, green, [0, 0], [50, 30], 5)
 
    # 在screenh画5像素宽的黑色折线,坐标点如下所示:
    pygame.draw.lines(screen, black, False, [[0, 80], [50, 90], [200, 80], [220, 30]], 5)
 
    # 下面是画抗据齿线条
    pygame.draw.aaline(screen, green, [0, 50], [50, 80], True)
 
    # 画空心的黑色矩形
    pygame.draw.rect(screen, black, [75, 10, 50, 20], 2)
 
    # 画实心的黑色矩形
    pygame.draw.rect(screen, black, [150, 10, 50, 20])
 
    # 画空心椭圆,矩形是它的外接框
    pygame.draw.ellipse(screen, red, [225, 10, 50, 20], 2)
 
    # 画实心椭圆,矩形是它的绑定盒
    pygame.draw.ellipse(screen, red, [300, 10, 50, 20])
 
    # 画多边形,空心,黑边
    pygame.draw.polygon(screen, black, [[100, 100], [0, 200], [200, 200]], 5)
 
    # 画弧线条,使用的角度单位为弧度   
    pygame.draw.arc(screen, black, [210, 75, 150, 125],  0, pi / 2, 2)      # 0度到90度
    pygame.draw.arc(screen, green, [210, 75, 150, 125],  pi / 2, pi, 2)     # 90度到180度
    pygame.draw.arc(screen, blue,  [210, 75, 150, 125],  pi, 3 * pi / 2, 2) # 180度到270度
    pygame.draw.arc(screen, red,   [210, 75, 150, 125], 3 * pi / 2, 2 * pi, 2)# 270度到360度
 
    # 画半径为40的实心蓝色圆形
    pygame.draw.circle(screen, blue, [60, 250], 40)
 
    # 画完后,显示出来
    pygame.display.flip()
 
    # 设定刷新率为60
    clock.tick(60)
 
# 退出派game
pygame.quit()