pygame模块完整的方法和事件

安装

首先我们需要安装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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容