day12-pygame

  今天主要学习了pygame的相关知识。

  一、pygame的基本操作

  • 初始化游戏模块
pygame.init()
  • 创建游戏窗口
window = pygame.display.set_mode((400,600))
补充:display.set_mode(窗口大小):创建一个窗口并且返回,窗口大小是一个元祖,里面的两个值代表宽度和高度。
  • 让游戏一直运行,直到点关闭按钮才结束
 flag = True
    while flag:
        # 获取游戏过程中产生的所有的事件
        for event in pygame.event.get():
            # type来判断事件的类型
            if event.type == pygame.QUIT:
                flag = False

  二、显示图片

  • 获取图片,创建图片对象

格式为:image.load(图片路径):获取本地的一张图片,返回图片对象。

image = pygame.image.load('./files/luffy4.jpg')

get_size():获取大小,返回值是一个元祖,有两个元素,分别是宽和高。

image_width,image_height = image.get_size()
  • 渲染图片

blit(渲染对象,位置)
位置:坐标(x,y)值得类型是元祖,元祖有两个元素分别对应x坐标和y坐标。

window.blit(image,(0,100))
  • 展示内容
pygame.display.flip()

  三、形变

  • 缩放(指定大小)

transform.scale(缩放对象,目标大小):将指定的对象缩放到指定的大小,会返回缩放后的对象

new_image = pygame.transform.scale(image.(400,600))
  • 旋转缩放(指定缩放比例)

rotozoom(surface,angle,scale)

new_image = pygame.transform.rotozoom(image,45,0.8)
  • 旋转

rotate(surface,angle)

new_image = pygame.transform.rotate(image,270)

  四、显示文字

  1.创建字体对象

a.创建系统的字体对象
SysFont(name,size,bold=False,italic=False)
  name:字体名  size:字体大小  bold:是否加粗  italic:是否倾斜
b.创建自定义的字体对象
Font(字体文件路径,字体大小)   字体文件路径:ttf文件

a.创建系统字体
font = pygame.font.SysFont('Times', 30)
b.创建自定义字体
font = pygame.font.Font('./files/aa.ttf', 30)

  2.根据字体去创建文字对象

render(text,antialias,color,background=None)
text:需要显示的文字(字符串)
antialias:是否平滑(布尔)
color:颜色
background:背景颜色

text = font.render('你好,pygame',True,(0,0,255),(255,255,0))

  五、显示图形

  • 画线段

line(Surface, color, start_pos, end_pos, width=1)
Surface: 画在哪儿
color:线的颜色
start_pos: 起点
end_pos:终点
width: 线宽

 pygame.draw.line(window, (255, 0, 0), (50, 100), (200, 100))
  • 画线段(折线)

lines(Surface, color, closed, pointlist, width=1)
Surface: 画在哪儿
color: 线的颜色
closed: 是否闭合(是否连接起点和终点)
pointlist:点对应的列表

pygame.draw.lines(window, (0, 0, 255), True, [(100, 200), (150, 120), (140, 300)])
  • 画圆

circle(Surface, color, pos, radius, width=0)
Surface: 画在哪儿
color: 颜色
pos:圆心坐标
radius:半径
width: 线宽,0 -> 填充

pygame.draw.circle(window, (255, 255, 0), (200, 300), 100, 0)
  • 画矩形

rect(Surface, color, Rect, width=0)
Surface:画在哪儿
color: 颜色
Rect:范围(元祖,元祖中有四个元素,分别是x,y,width,height)

 pygame.draw.rect(window, (0, 255, 0), (10, 100, 50, 100))
  • 画多边形

polygon(Surface, color, pointlist, width=0)

  pygame.draw.polygon(window, (0, 255, 255), [(300, 50), (250, 40),(100, 50), (200, 150)])
  • 画椭圆

ellipse(Surface, color, Rect, width=0)

pygame.draw.ellipse(window, (123, 200, 210), (10, 200, 150, 60))
  • 画弧线

arc(Surface, color, Rect, start_angle, stop_angle, width=1)
start_angle: 0-2pi
stop_angle:
pi --- 180° 1° --- pi/180
59° = pi/180 * 59

  pygame.draw.arc(window, (255, 0, 0), (200, 400, 100, 100), pi/4+pi, pi*3/4+pi, 3)

你可能感兴趣的:(day12-pygame)