美文网首页
总结Day18_pygame

总结Day18_pygame

作者: RiskHY | 来源:发表于2019-01-16 19:28 被阅读0次

    ===游戏基本框架===

    模块引入
    import pygame
    
    1.初始化pygame, 做准备工作
        pygame.init()
    
    2.创建游戏窗口

      set_mode(窗口大小) == set_mode((宽, 高)) - 会返回一个surface类型的对象
      窗口大小对应的值是一个元祖

        window = pygame.display.set_mode((400, 600))
    

      设置窗口标题

        pygame.display.set_caption('游戏')
    

      设置窗口背景颜色
      fill(颜色)
      颜色是一个元祖,元祖有三个int类型的元素,返回是0~255;分别代表R,G,B
      计算机三原色: 红、绿、蓝
      红色 (255, 0, 0)
      绿色 (0, 255, 0)
      蓝色 (0, 0, 255)
      白色 (255, 255, 255)
      黑色 (0, 0, 0)

        window.fill((255, 255, 255))
    

      想要对窗口内容进行的修改有效,必须执行以下操作

        pygame.display.flip()
    
    3.让游戏保持运行状态(游戏循环)
        while True:
    
    4.不断检测游戏过程中是否有事件的产生
            for event in pygame.event.get():
                # 只有当事件产生后才会进入for循环
                # print('======')
                if event.type == pygame.QUIT:
                    # return
                    # 退出!
                    exit()
    

    ===显示图片===

    导入pygame模块
    import pygame
    
    1.初始化
    pygame.init()
    
    2.创建窗口
    window = pygame.display.set_mode((400, 600))
    pygame.display.set_caption('图片')
    window.fill((255, 255, 255))
    
    3.添加固定显示内容

      显示图片
      1.加载图片
      image.load(图片地址) -> 返回图片对象(surface)
      2.将图片添加(渲染)到窗口上
      blit(渲染对象, 坐标)
      坐标: 一个元祖,两个元素,分别是x坐标和y坐标

    image = pygame.image.load('images/luffyy.png')
    window.blit(image, (0, 0))
    
    4.操作图片

      1.获取图片对象大小
      surface类型有个对象方法: get_size() - 返回的是元祖

    # 获取窗口大小
    print(window.get_size())
    # 获取图片大小
    print(image.get_size())
    width, height = image.get_size()
    # window.blit(image, (400-width, 600-height))
    

      2.图片缩放和旋转(形变)
      transform.scale(缩放对象, 目标大小) -> 返回缩放后的新对象
      transform.rotozoom(缩放对象, 旋转角度, 缩放比例)

    new_image = pygame.transform.scale(image, (50, 50))
    new_image = pygame.transform.rotozoom(image, 45, 0.8)
    
    window.blit(new_image, (10, 250))
    

    ===显示文字===

    导入pygame模块
    import pygame
    
    1.初始化
    pygame.init()
    
    2.创建窗口
    window = pygame.display.set_mode((400, 600))
    pygame.display.set_caption('图片')
    window.fill((255, 255, 255))
    

      1.创建字体对象
      a.系统字体
       font.SysFont(字体名, 字体大小) - 返回一个字体对象
      b.自定义字体
       font.Font(字体文件路径, 字体大小)

    # font = pygame.font.SysFont('Times', 40)
    font = pygame.font.Font('images/font2.ttf', 40)
    

      2.根据字体创建文字对象
      render(文字, True, 文字颜色) - 返回一个文字对象(Surface)

    text = font.render('hello世界!', True, (255, 0, 0))
    w, h = text.get_size()
    
    3.显示文字

      blit(渲染对象, 坐标)

    window.blit(text, (400-w, 600-h))
    

      想要对窗口内容进行的修改有效,必须执行以下操作

    pygame.display.flip()
    

      3.让游戏保持运行状态(游戏循环)

    while True:
    

      4.不断检测游戏过程中是否有事件的产生

        for event in pygame.event.get():
            # 只有当事件产生后才会进入for循环
            # print('======')
            if event.type == pygame.QUIT:
                # return
                # 退出!
                exit()
    

    ===显示图像===

    1.画线

      line(画在哪个地方, 线的颜色, 起点, 终点, 线宽=1)

    pygame.draw.line(window, (0, 255, 0), (10, 10), (100, 100), 4)
    
    2.画线

      lines(画在哪个地方, 线的颜色, 是否关闭, 点列表, 线宽=1)

    point_list = [(200, 200), (250, 10), (300, 200), (150, 100), (350, 100)]
    # pygame.draw.lines(window, (255, 0, 0), True, point_list)
    
    3.画圆

      circle(画在哪个地方, 线的颜色,圆心,半径, 线宽=0)

    pygame.draw.circle(window, (0, 0, 0), (200, 300), 100, 0)
    pygame.draw.circle(window, (255, 0, 0), (200, 300), 90, 0)
    
    4.画多边形

      polygon(画在哪个地方,线的颜色, 点列表,线宽)

    pygame.draw.polygon(window, (255, 0, 0), point_list, 0)
    
    5.画弧线

      arc(画在哪个地方,线的颜色, 矩形, 起始弧度, 终止弧度, 线宽)

    pygame.draw.arc(window, (0, 255, 255), (10, 470, 150, 200), math.pi/4, math.pi/4*3, 5)
    
    6.画矩形
    pygame.draw.rect(window, (100, 20, 50), (200, 470, 100, 50), 2)
    window.fill((255, 255, 255))
    

    相关文章

      网友评论

          本文标题:总结Day18_pygame

          本文链接:https://www.haomeiwen.com/subject/jccvdqtx.html