这篇主要是介绍一些常见的图形画法。
import pygame,sys
from pygame.locals import *
# pygame 库初始化
pygame.init()
# 绘制一个 500 * 500 像素的窗口
d = pygame.display.set_mode((500,500))
# 设置窗口标题是 drawing pictures
pygame.display.set_caption("drawing pictures")
# 定义黑色
BLACK = (0,0,0)
# 定义白色
WHITE = (255,255,255)
# 定义红色
RED = (255,0,0)
# 定义绿色
GREEN = (0,255,0)
# 定义蓝色
BLUE = (0,0,255)
# 将窗口的底色都绘制成白色
d.fill(WHITE)
# 在窗口上绘制一条蓝色的线,起点坐标(10,10),终点坐标(120,10),线条粗度为 2
pygame.draw.line(d,BLUE,(10,10),(120,10),2)
# 在窗口上绘制一条绿色的多边形,多边形的点坐标依次是(50,20),(80,100),(30,100),(50,20)
pygame.draw.polygon(d,GREEN,((50,20),(80,100),(30,100),(50,20)))
# 在窗口上绘制一条蓝色的圆,中心点坐标(200,200),半径是 20,0 表示将圆圈被蓝色全部填充
pygame.draw.circle(d,BLUE,(200,200),20,0)
# 在窗口上绘制一条红色的椭圆,左上角点坐标(300,250),宽 40 ,高 80 ,线条粗度为 1
pygame.draw.ellipse(d,RED,(300,250,40,80),1)
# 在窗口上绘制一条红色的矩形,左上角点坐标(200,150),宽 100 ,高 50 ,整个矩形被红色填充
pygame.draw.rect(d,RED,(200,150,100,50))
# 创建像素对象
pixObj = pygame.PixelArray(d)
# 在坐标点 (480,380) 处着黑色
pixObj[480][380] = BLACK
# 在坐标点 (482,382) 处着红色
pixObj[482][382] = RED
# 在坐标点 (484,384) 处着蓝色
pixObj[484][384] = BLUE
# 删除像素对象
del pixObj
# 保证页面一直存在
while True:
# 循环发生的事件列表
for event in pygame.event.get():
# 判断是否有退出事件发生
if event.type == QUIT:
# 关闭 pygame 库
pygame.quit()
# 终止程序
sys.exit()
# 该函数将 pygame.display.set_mode()返回的Surface 对象绘制到屏幕上,由于 Surface 对象没有更改,因此每次调用 pygame.display.update()时,都会在屏幕上重新绘制相同的图像
pygame.display.update()
效果图如下: