
pygame模块教程 - Python图形编程
文章平均质量分 97
找不到比这更完整的教程了!
Python-ZZY
更多程序参见itch和github主页
展开
-
Python pygame-ce(GUI编程)模块最完整教程(1/8)
pygame是python中一个流行的GUI编程模块,是专门为了开发游戏而设计的。这是一个第三方模块,是SDL语言和Python的接口。pygame还可以用于制作网页游戏、Android手机游戏。原创 2023-01-28 17:18:09 · 31428 阅读 · 12 评论 -
Python pygame-ce(GUI编程)模块最完整教程(2/8)
get_mods方法获得的结果类似于event.mods,但是KEYDOWN或KEYUP只会在刚按下和刚松开按键时触发,而get_mods方法获得的是持续按下不松开的按键内容。Surface是渲染的文本表面,Rect是文本的大小,位于文字的原点。矩形对象的大小是表面的大小,位置(x, y)是文本原点的位置(也就是(0, 字体上升高度))。当用户按下某个按键时,会先打印一次"KEYDOWN",然后等待1000ms,再以200ms的时间间隔触发事件,打印多次"KEYDOWN",如果不能理解可以运行代码试一下。原创 2023-02-03 11:37:54 · 6706 阅读 · 0 评论 -
Python pygame-ce(GUI编程)模块最完整教程(3/8)
kind参数是长度为1的字符串'0','1','2','3','r', 'g', 'b',或'a'。'0'返回连续的非结构化字节视图,'1'返回一个(表面宽度*表面高度)连续像素数组,'2'返回一个(surface-width, surface-height)原始像素数组(默认值),'3'返回一个(surface-width, surface-height, 3) RGB颜色数组,'r','g','b','a'分别表示返回单个颜色平面数组。只要更改调色板中的颜色值,就可以替换调色板中的颜色了。原创 2023-02-12 13:41:43 · 3915 阅读 · 0 评论 -
Python pygame-ce(GUI编程)模块最完整教程(4/8)
调用一次被lru_cache装饰的函数后,返回值会被储存起来,如果第二次调用该函数的参数与先前调用的参数相同,那么就从储存的值中直接返回,大大提高了加载速度。pg.draw.rect方法中,必需的参数是surface, color, rect,表示进行矩形绘制的表面,矩形的颜色,矩形的位置。如果只进行矩形的碰撞,游戏角色中空白的部分的碰撞也会被检测到。(脏精灵支持的精灵组是LayeredDirty对象,而不是Group)脏精灵对象支持的方法和Sprite一样,此处不再赘述,下面介绍它的额外属性。原创 2023-02-25 19:54:13 · 4549 阅读 · 0 评论 -
Python pygame-ce(GUI编程)模块最完整教程(5/8)
调整后的矩形宽高之比不变,但是它被尽可能地放大,使其完全容纳于给定矩形的范围中(如果给定参数的矩形要比当前矩形小,那么矩形将会被缩小,使得大小刚好容纳在给定矩形之中)。move_ip方法中的ip表示in-place,表示原地修改矩形(在调用该方法的矩形对象上修改),而不是复制一个矩形对象,修改后返回。如果之前的声道已经被占用了一部分,而剩余的可用声道数量小于给定参数count,那么则无法按照参数预留声道,只会预留剩余的可用声道。值不要设置过大,比如设置为0.5就是一个过大的值,会影响计算。原创 2023-03-11 19:28:37 · 3080 阅读 · 0 评论 -
Python pygame-ce(GUI编程)模块最完整教程(6/8)
将游戏数据文件存储在当前游戏文件夹中也是一个比较好的选择,而且玩家在卸载游戏时数据只需要把整个文件夹删除,同时游戏数据文件会连带着一起被卸载。pg.system.get_pref_locales函数返回一个列表,包含多个字典,每个字典都含有键"language"和"country",表示语言,以及这个语言所属的国家。这个存档文件的格式可以自行选择,如*.txt,*.json,*.p文件,常用于存储游戏信息。有一些电脑的键盘上有一个圆形的按钮,可以往不同方向按压它来操纵鼠标,这个按钮的功能就和球类似。原创 2023-05-20 19:05:41 · 1751 阅读 · 3 评论 -
Python pygame-ce(GUI编程)模块最完整教程(7/8)
前文已经介绍过用pg.draw模块绘制图形。但是这种绘制方式针对像素进行处理,速度可能较慢。在用pg.draw绘制很多的东西时,常常需要锁定表面内存,来提高绘制的速度。表面在锁定期间pg.draw会加快到原来的2倍左右,但是锁定期间的表面是无法被blit等方法处理的,也无法进行blit调用,这就需要在draw完成之后进行解锁。原创 2023-07-27 13:05:11 · 1391 阅读 · 2 评论 -
Python pygame-ce(GUI编程)模块最完整教程(8/8)
23 进阶声音操作23 进阶声音操作23.1 通过MIDI输出声音pygame.midi模块操作MIDI(乐器数字接口)。各种电子乐器与计算机通过MIDI进行交互。管理MIDI输入,可以从一些MIDI输入设备获取信息;将MIDI输出,则可以模拟某种乐器播放音符。和pg.camera一样,midi不会自动导入到pygame中,所以需要额外的导入和初始化。下面的程序演示了如何通过midi播放从低到高的音阶(相邻音符之间相差一个半音)。原创 2023-08-07 11:17:42 · 1714 阅读 · 0 评论 -
python pygbag教程 —— 在网页上运行pygame程序(全网中文教程首发)
pygbag是经过官方认可的一个第三方模块,专用于编译pygame使其在网页上运行。。注意:在国内访问itch和github速度可能较慢,通常要加载很久。(建议开VPN)pygbag打包后文件经过压缩,占用较少的空间。pygbag应用首次加载速度较慢,后面的速度会变快。需要注意的是:pygbag依赖于Chrome内核的浏览器(如google, firefox),否则无法正常运行。原创 2023-07-28 16:27:03 · 6221 阅读 · 0 评论