美文网首页开发相关知识
pygame模块完整的方法和事件

pygame模块完整的方法和事件

作者: 暖A暖 | 来源:发表于2019-06-20 18:36 被阅读43次

    安装

    首先我们需要安装pygame,如果已经安装好python和pip的,只需要在命令行工具中执行:

    pip install pygame
    
    111.png
    • 安装好后我们可以使用import pygame来确认pygame有咩有装成功。如下图所示,这样我们就可以知道pygame是安装成功的啦,且它的版本是1.9.6。

    Pygame常用模块

    模块名 功能
    pygame.cdrom 访问光驱
    pygame.display 访问显示设备
    pygame.draw 绘制形状、线和点
    pygame.cursors 加载光标
    pygame.event 管理事件
    pygame.font 使用字体
    pygame.image 加载和存储图片
    pygame.joystick 使用游戏手柄或者类似的东西
    pygame.key 读取键盘按键
    pygame.mixer 声音
    pygame.mouse 鼠标
    pygame.movie 播放视频
    pygame.music 播放音频
    pygame.overlay 访问高级视频叠加
    pygame.rect 管理矩形区域
    pygame.scrap 本地剪贴板访问
    pygame.sndarray 操作声音数据
    pygame.sprite 操作移动图像
    pygame.surface 管理图像和屏幕
    pygame.surfarray 管理点阵图像数据
    pygame.time 管理时间和帧信息
    pygame.transform 缩放和移动图像

    cdrom模块的常用方法

    方法名 功能
    pygame.cdrom.init() 初始化 cdrom 模块,该方法将扫描系统内所有的 CD 设备
    pygame.cdrom.quit() 还原 cdrom 模块,在调用该方法后,现存的任何 CD 对象都将停止工作
    pygame.cdrom.get_init() 如果 cdrom 模块初始化完成,则返回 true,否则返回 false
    pygame.cdrom.get_count() 返回系统中 cd 驱动器的个数

    display模块的常用方法

    方法名 功能
    pygame.display.init() 初始化display模块
    pygame.display.quit() 结束display模块
    pygame.display.get_init() 如果display模块已经被初始化,则返回True
    pygame.display.set_mode() 初始化一个准备显示的界面
    pygame.display.get_surface() 获取当前的Surface对象
    pygame.display.flip() 更新整个待显示的Surface对象到屏幕上
    pygame.display.update() 更新部分内容显示到屏幕上,如果没有参数,则与flip功能相同(上一条)

    draw绘图

    方法名 功能
    pygame.draw.rect(surface,color,Rect,width=0) 绘制一个矩形框
    pygame.draw.polygon(surface,color,pointlist,width=0) 绘制一个多边形
    pygame.draw.circle(surface,color,pos,radius,width=0) 绘制一个圆
    pygame.draw.ellipse(surface,color,Rect,width=0) 绘制一个椭圆
    pygame.draw.arc(surface,color,Rect,start_angle,stop_angle,width=1) 绘制一条弧线
    pygame.draw.line(surface,color,start_pos,end_pos,width=1) 绘制一条线段
    pygame.draw.lines(surface,color,closed,pointlist,width=1) 绘制一条折线
    pygame.draw.aaline(surface,color,start_pos,end_pos,width=1) 绘制一根平滑的线
    pygame.draw.aalines(surface,color,closed,pointlist,width=1) 一系列平滑的线

    cursors加载光标

    方法名 功能
    pygame.cursors.compile() 由纯字符串创建二进制光标数据
    pygame.cursors.load_xbm() 由一个xbm 文件载入光标数据

    event事件

    方法名 功能
    pygame.event.get() 获取事件的返回值,使用event.type进行区分
    pygame.event.wait() 等待发生一个事件才会继续下去
    pygame.event.poll() 会根据现在的情形返回一个真实的事件
    pygame.event.set_blocked(事件名) 过滤
    pygame.event.set_allowed() 允许事件

    绘制文字

    pygame.font.Font(filename, size)
    

    返回一个特定字体对象,可使用该特定字体去定义文本

    • filename:字体文件的文件名。如果file参数设置为None则默认采用系统自带字体,如果自带字体文件无法打开就会报错。
    • size:字体的高height,单位为像素;
    pygame.font.Font.render(text, antialias, color, background=None)
    

    返回一个surface对象(字体的渲染成的图像)

    • text:要显示的文字;
    • antialias: 为True时文本图像显示更光滑,为False时文本图像显示有锯齿状;
    • color:字体颜色;
    • background:背景颜色(可选参数),默认为小黑屏;

    image图像

    方法名 功能
    pygame.image.load() 从文件加载新图片
    pygame.image.save() 将图像保存到磁盘上
    pygame.image.get_extended() 检测是否支持载入扩展的图像格式
    pygame.image.tostring() 将图像转换为字符串描述
    pygame.image.fromstring() 将字符串描述转换为图像
    pygame.image.frombuffer() 创建一个与字符串描述共享数据的 Surface 对象

    mouse鼠标

    方法名 功能
    pygame.mouse.get_pressed() 获取鼠标按钮的状态
    pygame.mouse.get_pos() 获取鼠标光标位置
    pygame.mouse.get_rel() 获取鼠标移动的数量
    pygame.mouse.set_pos() 设置鼠标光标位置
    pygame.mouse.set_visible() 隐藏或显示鼠标光标
    pygame.mouse.get_focused() 检查显示是否接收了鼠标输入
    pygame.mouse.set_cursor() 为系统鼠标光标设置图像

    mixer播放音频

    方法名 功能
    pygame.mixer.music.load() 载入一个音乐文件用于播放
    pygame.mixer.music.play() 开始播放音乐流
    pygame.mixer.music.rewind() 重新开始播放音乐
    pygame.mixer.music.stop() 结束音乐播放
    pygame.mixer.music.pause() 暂停音乐播放
    pygame.mixer.music.unpause() 恢复音乐播放
    pygame.mixer.music.fadeout() 淡出的效果结束音乐播放
    pygame.mixer.music.set_volume() 设置音量
    pygame.mixer.music.get_volume() 获取音量
    pygame.mixer.music.get_busy() 检查是否正在播放音乐
    pygame.mixer.music.set_pos() 设置播放的位置
    pygame.mixer.music.get_pos() 获取播放的位置
    pygame.mixer.music.queue() 将一个音乐文件放入队列中,并排在当前播放的音乐之后
    pygame.mixer.music.set_endevent() 当播放结束时发出一个事件
    pygame.mixer.music.get_endevent() 获取播放结束时发送的事件

    Surface对象的常用方法

    方法名 功能
    pygame.Surface.blit() 将一个图像画到另一个图像上
    pygame.Surface.convert() 转换图像的像素格式
    pygame.Surface.convert_alpha() 转化图像的像素格式,包含alpha通道的转换
    pygame.Surface.fill() 使用颜色填充Surface
    pygame.Surface.get_rect() 获取Surface的矩形区域

    time时间

    方法名 功能
    pygame.time.get_ticks() 获取以毫秒为单位的时间
    pygame.time.wait() 暂停程序一段时间
    pygame.time.delay() 暂停程序一段时间
    pygame.time.set_timer() 在事件队列上重复创建一个事件
    pygame.time.Clock() 创建一个对象来帮助跟踪时间

    transform缩放和移动图像

    方法名 功能
    pygame.transform.flip 垂直和水平翻转
    pygame.transform.scale 调整大小到新的分辨率
    pygame.transform.rotate 旋转图像
    pygame.transform.rotozoom 过滤的比例和旋转
    pygame.transform.scale2x 专业图像倍增器
    pygame.transform.smoothscale 将表面平滑地缩放到任意大小
    pygame.transform.chop 获取内部区域已删除的图像副本
    pygame.transform.laplacian 找到表面中的边缘
    pygame.transform.average_surfaces 从许多表面找到平均表面
    pygame.transform.average_color 找到曲面的平均颜色
    pygame.transform.threshold 查找表面中的哪些像素和多少像素在'search_color'或'search_surf'的阈值内

    Pygame里常用的事件

    事件 产生途径 参数
    QUIT 用户按下关闭按钮 none
    ACTIVEEVENT Pygame被激活或者隐藏 gain, state
    KEYDOWN 键盘被按下 unicode, key, mod
    KEYUP 键盘被放开 key, mod
    MOUSEMOTION 鼠标移动 pos, rel, buttons
    MOUSEBUTTONDOWN 鼠标按下 pos, button
    MOUSEBUTTONUP 鼠标放开 pos, button
    VIDEORESIZE Pygame窗口缩放 size, w, h

    相关文章

      网友评论

        本文标题:pygame模块完整的方法和事件

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