美文网首页
day10 Pygame

day10 Pygame

作者: 卅月 | 来源:发表于2018-07-27 19:21 被阅读0次

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()
显示字体--效果如图

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

    Day10 01.pygame 02.显示文字 03.显示图片 04.显示图形 01.pygame 02.显示文字...

  • day10 Pygame

    pygame作为一个第三方库,知名度较高,pygame的几种简单的用法: 显示文字 显示图片 显示图形 动画首先不...

  • day10 pygame

    一、异常处理1.模块导入模块(自定义模块,第三方模块)import 模块 ---->模块.内容from 模块 im...

  • day10 Python_Pygame

    运行Pygame前,要先安装好Pygame。 2、创建游戏窗口格式:set_mode((宽度,高度)),里面为元组...

  • 2018-09-04-pygame

    一、pygame基本操作 import pygame——导入pygame模块 pygame.init()——初始化...

  • Pygame入门--飞机大战案例

    Pygame的快速入门 #导入pygame模块 import pygame #游戏初始化 pygame.init(...

  • Day_10 异常与pygame

    异常捕获 pygame操作流程 pygame显示文字 pygame显示图片与图片操作 pygame基本显示

  • Pygame-hello world

    使用pygame 模块名功能pygame.cdrom访问光驱pygame.cursors加载光标pygame.di...

  • pygame - alphabet

    pygame install pygame install[https://www.pygame.org/wiki...

  • Day12 pygame

    1.pygame基本操作: 1.导入pygame: import pygame.2.初始化:pygame init...

网友评论

      本文标题:day10 Pygame

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