day10 Pygame

pygame作为一个第三方库,知名度较高,pygame的几种简单的用法:

  • 显示文字
  • 显示图片
  • 显示图形
  • 动画
    首先不管要做什么,第一步都要配置基础配置,也就是pygame的基础框架
"""__author__ = Sun Jiankang"""
import  pygame          # 导入pygame

if __name__ == '__main__':
    pygame.init()       # 初始化
    screen = pygame.display.set_mode(1000, 1000)    # 设置窗口大小
    screen.fill((255, 255, 255))    # 设置窗口背景颜色

    pygame.display.flip()   # 将内容渲染在屏幕上
    while True:         # 控制窗口显示,直到检测到鼠标点击点击关闭,程序才结束,并关闭窗口
        for event in pygame.event.get():
            if event == pygame.QUIT:
                exit()

1.显示文字

整个过程均在创建好窗口后依次执行

  • 创建字体对象

    """
        SysFont(name,size,bold=False,italic=False)
        name --> 字体名
        size --> 字体大小
        bold --> 是否加粗
    """
    font = pygame.font.SysFont('宋体', 50)
    """

    系统自带的字体有时候显示不了汉字,所以可以创建自定义字体
    Font(字体文件路径, 字体大小)
    """
    font = pygame.font.Font('./font/aa.ttf', 56)

  • 字体渲染

    """
        render(self,text,antialias,color,background = None)
        text -> 要显示的文字内容(str)
        antialias -> 是否平滑
        color -> RGB颜色
    """
    surface = font.render('你好,pyhton', True, (208, 209, 218))  
  • 将内容添加到窗口上
    """
        blit(需要显示的对象,显示位置)
        需要显示的对象 --> Surface类型的数据
        显示位置 --> 坐标(x, y)
    """
    screen.blit(surface, (100, 100))
  • 将窗口上的内容显示出来

    pygame.display.flip()
day10 Pygame_第1张图片
显示字体--效果如图

2.显示图片

(1).获取图片对象

    image = pygame.image.load('./images/333.jpg')
a.获取图像大小
    image_size = image.get_size()
    print(image_size)

b.形变
  • tranform:缩放,旋转,平移
  • scale(图片对象, (缩放后的宽,缩放后的长)
     image = pygame.transform.scale(image, (700, 500))
     image = pygame.transform.rotate(image, 60)
  • def rotozoom(旋转对象,旋转角度,缩放比例)
    image = pygame.transform.rotozoom(image, 30, 2)
(2).将图片对象渲染到窗口上
screen.blit(image, (0, 0))
(3)展示在屏幕上
pygame.display.flip()

4.运用pygame绘制图形

(1)直线:

pygame.draw.line(Surface,color,star_pos,end_pos,width=1)
Surface -> 画在哪个地方
color -> 线的颜色
start_pos -> 起点
end_pos -> 终点
width -> 线的宽度

pygame.draw.line(screen, (255, 0, 0), (0, 0), (300, 300), 5)
(2)绘制一串直线(由若干点相连)

lines(划线的位置,颜色,closed,点的列表,with)
用上面方法实现矩形的绘制

pygame.draw.lines(screen, (0, 255, 255), True, [(10, 10), (200, 10), (200, 200), (10, 200)], 5)

直接绘制矩形:

 pygame.draw.rect(screen, (0, 0, 255), (10,10,300,300), 2)
(3)画曲线

arc(Surface, color, Rect, start_angle, stop_angle, width = 1)
rect:(x, y, width, height)矩形
start_angle
stop_angle

from math import pi
pygame.draw.arc(screen, (0, 0, 0), (0, 0, 100, 100), pi+pi/4, pi*2-pi/4)

#  通过开始角度,和结束角度的调整,可以调整曲线的大小.(基于矩形)
(4).画圆
circle(位置, 颜色,圆心位置,半径,width)
    import random
    pygame.draw.circle(screen, (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)), (100, 200), 50, 5)

(5)动画
"""__author__ = Sun Jiankang"""
import pygame
if __name__ == '__main__':
    pygame.init()
    screen = pygame.display.set_mode((1000, 1000))
    screen.fill((255, 25, 236))
    x = 0
    y = 0

    while True:
        for event  in pygame.event.get():
            if event == pygame.QUIT:
                exit()

        x += 1      # 每循环一次,圆的位置变化一次
        y += 1
        screen.fill((255, 25, 236))      #每变化一次,窗口的背景颜色重新填充.,然后圆的位置又发生变化,形成动画效果
        pygame.draw.circle(screen, (255, 0, 0), (x, y), 80)
        pygame.display.flip()

你可能感兴趣的:(day10 Pygame)