Pygame第二课:画图

目录

一、Pygame的坐标系

二、绘图

2.1 颜色

2.2 绘图函数

2.2.1 pygame.draw.rect()

2.2.2 pygame.draw.line()

2.2.3 pygame.draw.circle()

2.2.4 pyame.draw.ellipse()

2.2.5 pygame.draw.polygon()

2.3 显示

三、示例


人生苦短,我用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!

猜你喜欢

转载自blog.csdn.net/Python_program/article/details/132943553