颜色
光线主要有三种颜色:红色、绿色、蓝色,通过三种颜色的不同量组合可以形成所有颜色。
在pygame中,使用3个整数的元组代表红绿蓝三种颜色来表示任意颜色。
每个整数的值范围为0~255,代表一种颜色的深度,3种颜色的组合有255*255*255种颜色。
颜色的表示如下
BLACK = (0 , 0, 0)
WHITE = (255,255,255)
RED = (255, 0, 0)
GREEN = (0 ,255, 0)
BLUE = (0 , 0,255)
有时候,元组中添加了第四个整数作为alpha值,即为不透明度,如下就是半透明的黑色。
BLACK = (0 , 0, 0, 128)
基本的绘制函数
pygame提供了在Surface上绘制形状如圆形,矩形,椭圆形,线条等的不同函数。
如下对函数进行简单介绍
fill(color)
fill()方法是Surface对象的一个方法,使用参数color代表的颜色填充整个Surface对象。
pygame. draw. polygon( surface, color, pointlist, width)#多边形
多边形图像函数,surface,color参数告诉函数将多边形绘制到哪个Surface上以及使用的颜色。pointlist参数是一个两个整数的元组的列表,告诉函数绘制的多边形的定点位置,width将决定多边形边的宽度。
pygame. draw. line( surface, color, start_ point, end_ point, width)
直线绘制函数,start_point,end_point分别为两个整数的元组,将告诉函数直线的始末位置,参数width则决定了直线的宽度。
pygame. draw. circle( surface, color, center_ point, radius, width)
圆的绘制函数,参数center_point为两个数的元组,告诉函数圆的圆心位置。
pygame. draw. rect( surface, color, rectangle_ tuple, width)
矩形绘制函数,参数rectangle_tuple为四个整数(矩形左上顶点的X,Y值,矩形的长,宽)组成的元组。
pygame. draw. ellipse( surface, color, bounding_ rectangle, width)
椭圆绘制函数,参数bounding_rectangle为四个整数(椭圆外接矩形左上顶点的X,Y值,矩形的长,宽)组成的元组。
以上函数若不提供参数width的值,则图形将被填充。
代码的实现如下
import pygame
import sys
from pygame.locals import *
pygame.init() #初始化
SURFACE = pygame.display.set_mode((500,500)) #创建窗口
pygame.display.set_caption("Drawing") #创建窗口标题
BLACK = ( 0, 0, 0)
WHITE = (255,255,255)
RED = (255, 0, 0)
GREEN = ( 0,255, 0)
BLUE = ( 0, 0,255)
#定义颜色
SURFACE.fill(WHITE) #填充surface
pygame.draw.polygon(SURFACE,RED,((150,1),(20,100),(85,200),(225,200),(280,100)),10)
#绘制五边形
pygame.draw.line(SURFACE,BLUE,(60,300),(300,300),5)
#绘制直线
pygame.draw.circle(SURFACE,GREEN,(400,200),50)
#绘制填充圆
pygame.draw.circle(SURFACE,GREEN,(400,400),50,5)
#绘制镂空圆
pygame.draw.ellipse(SURFACE,BLUE,(50,350,100,40),3)
#绘制椭圆
pygame.draw.rect(SURFACE,RED,(250,360,50,30),6)
#绘制矩形
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()