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!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值