目录
人生苦短,我用Python!
一、Pygame的坐标系
pygame的坐标系与turtle的坐标系不同,它是以左上角为(0,0)原点,X坐标越往右越大,Y坐标越往下越大,如图1-1所示。
图1-1
二、绘图
2.1 颜色
在pygame中,颜色采用RGB颜色,会保存在一个元组中,第一个代表红色的量,第二个代表绿色的量,第三个代表蓝色的量。如:白色是(255,255,255),黑色是(0,0,0),红色是(255,0,0),绿色是(0,255,0),蓝色是(0,0,255)。
我们通常会提前设置好。示例:
WHITE=(255,255,255)
BLACK=(0,0,0)
RED=(255,0,0)
GREEN=(0,255,0)
BLUE=(0,0,255)
2.2 绘图函数
介绍了颜色设置后,我们话不多说,直接上函数。
2.2.1 pygame.draw.rect()
pygame.draw.rect()函数可以绘画一个矩形,语法如下:
pygame.draw.rect(Surface,color,rect,width)
Surface:窗口,为一个Surface对象。
color:颜色,为RGB色值。
rect:一个元组:第一个是左上角的X坐标,第二个是左上角的Y坐标,第三个是矩形的宽,第四个是矩形的高。
width:粗细,int类型,0表示实心。
2.2.2 pygame.draw.line()
pygame.draw.line()函数可以画一个线条,语法如下:
pygame.draw.line(Surface, color, start_pos, end_pos, width)
Surface:不用说了吧,Surface对象。
color:RGB颜色。
start_pos:起始点:元组(起始点X坐标,起始点Y坐标)。
end_pos:结束点:元组(终点X坐标,终点Y坐标)。
width:粗细,整数表示(int类型)。
2.2.3 pygame.draw.circle()
pygame.draw.circle()函数可以画一个圆,语法如下:
pygame.draw.circle(Surface, color, pos, radius, width)
Surface:不用说了吧,Surface对象。
color:RGB颜色。
pos:圆心坐标(X坐标,Y坐标)。
radius:半径:int类型。
width:粗细,int类型,0表示实心。
2.2.4 pyame.draw.ellipse()
pygame.draw.ellipse()函数可以画一个椭圆形,语法如下:
pygame.draw.ellipse(Surface, color, Rect, width)
Surface:不用说了吧,Surface对象。
color:RGB颜色。
Rect:能围绕这个椭圆形的最小矩形,格式为一个元组:第一个是左上角的X坐标,第二个是左上角的Y坐标,第三个是矩形的宽,第四个是矩形的高。
width:粗细,int类型,0表示实心。
2.2.5 pygame.draw.polygon()
pygame.draw.polygon()函数可以画一个多边形,语法如下:
pygame.draw.polygon(surface, color, points,width)
Surface:不用说了吧,Surface对象。
color:RGB颜色。
points:每个点的坐标,存于一个元组中。
width:粗细,int类型,0表示实心。
2.3 显示
用pygame.display.update()来显示。
三、示例
"""
此程序摘自我的作品
"""
import pygame
pygame.init()
screen=pygame.display.set_mode([1500,1000])
pygame.display.set_caption("绝处逢生")
#设置颜色
DODGERBLUE=(30,144,255)
DODGERBLUE2=(0,114,225)
SPRINGGREEN2=(0,255,140)
BLACK=(10,10,10)
RED=(255,0,0)
WHITE=(255,255,255)
pygame.draw.line(screen, BLACK, (0, 700), (1500, 700), 20) #画线
pygame.draw.rect(screen, SPRINGGREEN2, (0, 700, 1500, 300), 0) #画长方形
pygame.draw.rect(screen, RED, (700, 0, 100, 50)) #画长方形
pygame.draw.rect(screen, DODGERBLUE2, (690, -10, 120, 70), 10) #画长方形
pygame.display.update()
人生苦短,我用Python!