
pygame
文章平均质量分 86
pygame库
蔚蓝慕
这个作者很懒,什么都没留下…
展开
-
pygame的freetype模块
pygame.freetype模块是pygame.font的替代品。它具有原始模块的所有功能,以及许多新功能。且对SDL_ttf库完全没有依赖性。它直接在 FreeType 2 库上实现。pygame.freetype模块本身并不向后兼容pygame.font。相反,请使用pygame.ftfont模块作为pygame.font的直接替代品。...原创 2022-08-04 05:49:26 · 1229 阅读 · 0 评论 -
pygame 中的transform模块
pygame模块用于变换Surface,Surface变换是一种移动或调整像素大小的操作。所有这些函数都是对一个Surface进行操作, 并将结果返回一个新的Surface。有些变换被认为是破坏性的。这意味着每次执行这些变换都会丢失像素数据。常见的例子是调整大小和旋转。出于这个原因, 重新变换原始Surface比继续多次变换图像要好。(例如, 假设您正在制作一个弹跳弹簧的动画, 它将膨胀和收缩。如果您将尺寸变化逐步应用于之前的图像, 您将失去细节。相反, 总是从原始图像开始, 然后缩放到所需的大小。)...原创 2022-08-03 07:36:30 · 2792 阅读 · 0 评论 -
Pygame Surface对象
在Pygame中窗口是Surface对象,加载的图片、背景也是Surface对象,精灵还是Surface对象……都称为Surface,所谓Surface对象就是用来表示图像的对象,图片是由像素组成的,Surface对象具有固定的分辨率和像素格式。比如,你要显示一张图片,那么当你调用的时候,他返回的是打开的图片,同样是一个Surface对象。那么你怎么显示这张图片呢?很简单,绑定在窗口上面。只需要窗口.blit(图片,坐标)就可以了。size表示Surface对象的矩形区域大小;flags。.........原创 2022-07-30 22:22:19 · 3060 阅读 · 0 评论 -
太空射击第17课: Game Over (結束)
在本课中,我们将通过添加“游戏结束”屏幕和再次玩游戏的功能来完成游戏。原创 2022-07-28 18:37:16 · 379 阅读 · 0 评论 -
太空射击第16课: 道具(Part 2)
在本课中,我们将添加增加对子弹道具的处理。原创 2022-07-28 18:23:00 · 346 阅读 · 0 评论 -
太空射击第15课: 道具
在本课中,我们将添加一些偶尔出现的道具。原创 2022-07-28 16:50:40 · 318 阅读 · 0 评论 -
太空射击第14课: 玩家生命
在本课中,我们将为玩家添加多个生命值,并在玩家死亡时添加一个漂亮的爆炸。原创 2022-07-28 14:57:01 · 386 阅读 · 0 评论 -
太空射击第13课: 爆炸效果
在本课中,我们将在玩家射击流星时进行一些动画爆炸。原创 2022-07-28 14:30:34 · 307 阅读 · 0 评论 -
太空游戏第12课: 生命值
在本课中,我们将为玩家添加一个盾牌以及一个用于显示盾牌等级的栏。原创 2022-07-28 14:02:41 · 327 阅读 · 0 评论 -
太空射击第11课: Sound and Music
在本课中,我们将为游戏添加音效和音乐原创 2022-07-28 11:20:59 · 244 阅读 · 0 评论 -
太空射击第10课: Score (繪畫和文字)
在本课中,我们将开始显示分数,并学习如何在屏幕上显示文本。将使用pygame.freetype模块来完成文本的渲染原创 2022-07-28 10:54:38 · 231 阅读 · 0 评论 -
太空射击第09课:精灵动画
在本课中,我们将通过添加一些精灵动画来使我们的流星更有趣。原创 2022-07-28 09:28:46 · 182 阅读 · 0 评论 -
太空射击第08课: 改进的碰撞
在本课中,我们将讨论如何更改 Pygame 处理精灵之间冲突的方式。原创 2022-07-23 21:41:53 · 366 阅读 · 0 评论 -
太空射击 第07课: 添加图形
在本课中,我们将讨论如何在游戏中使用预先绘制的图形。原创 2022-07-23 18:30:29 · 690 阅读 · 1 评论 -
Python基础:第26课——字典(dict)和集合(set)
一种可通过名称来访问其各个值的数据结构。这种数据结构称为映射(mapping)。字典是Python中唯一的内置映射类型,其中的值不按顺序排列,而是存储在键下。键可能是数、字符串或元组。原创 2022-07-23 15:48:38 · 402 阅读 · 0 评论 -
太空射击 第06课: 子弹与碰撞处理
这是我们“Shmup”项目的第6课!在本课中,我们将添加玩家与敌人之间的碰撞,以及添加供玩家射击的子弹。原创 2022-07-22 19:53:11 · 567 阅读 · 0 评论 -
太空射击 第05课: 敌人精灵
这是我们“Shmup”项目的第2部分!在本课中,我们将添加一些敌人的精灵供玩家躲避。在本系列课程中,我们将使用Python和Pygame构建一个完整的游戏。它适用于已经了解Python基础知识并希望加深对Python的理解并学习编程游戏基础知识的初学者。........................原创 2022-07-22 18:50:31 · 300 阅读 · 0 评论 -
太空射击 第04课: 玩家精灵和控制
让我们制作我们的第一款游戏!在本系列课程中,我们将使用Python和Pygame构建一个完整的游戏。它适用于已经了解Python基础知识并希望加深对Python的理解并学习编程游戏基础知识的初学者。原创 2022-07-22 18:26:51 · 240 阅读 · 0 评论 -
太空射击 第 03 课:图像精灵
这是我们教程系列“使用Pygame进行游戏开发”的第3部分。它适用于对游戏开发和提高Python编码技能感兴趣的初学者/中级程序员。您应该从。原创 2022-07-22 17:54:41 · 345 阅读 · 0 评论 -
太空射击 第02课:使用精灵
sprite是一个计算机图形术语,指屏幕上可以移动的任何对象。当您玩任何2D游戏时,您在屏幕上看到的所有对象都是精灵。精灵可以是动画的,它们可以由玩家控制,甚至可以相互交互。我们将在游戏循环的更新和绘制部分中负责更新和绘制精灵。但您可能可以想象,如果您的游戏具有大量精灵,那么游戏循环的这些部分可能会变得非常长且复杂。幸运的是,Pygame对此有一个很好的解决方案精灵组。精灵组只是一个精灵的集合,您可以同时对它们执行所有操作。现在,对于我们创建的每个精灵,我们只需确保将其添加到。...............原创 2022-07-22 16:35:47 · 374 阅读 · 0 评论 -
太空射击 第 01 课:入门
Pygame是一个“游戏库”-一套帮助程序员制作游戏的工具。图形和动画声音(包括音乐)控制(键盘、鼠标、游戏手柄等)原创 2022-07-22 15:52:39 · 340 阅读 · 0 评论 -
Python基础:第25课——使用类和实例
你可以使用类似于上面的方法来控制用户修改属性值(如里程表读数)的方式,但能够访问程序的人都可以通过直接访问属性来将里程表修改为任何值。有时候需要将属性值递增特定的量,而不是将其设置为全新的值。接受这些形参的值,并将它们存储在根据这个类创建的实例的属性中。的方法,它使用属性year、make和model创建一个对汽车进行描述的字符串。第12行还定义了一个名为read_odometer()的方法,用它能够轻松地获悉汽车的里程。为让这个类更有趣,下面给它添加一个随时间变化的属性,它存储汽车的总里程。......原创 2022-07-22 11:08:37 · 216 阅读 · 0 评论 -
Python基础:第24课——Python 类和对象
每个与类相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Dog类,而实例是根据类创建出来的一个个具体的“对象”,根据约定,在Python中,首字母大写的名称指的是类。以self为前缀的变量都可供类中的所有方法使用,还可以通过类的任何实例来访问这些变量。你可按需求根据一个类创建任意数量的实例,条件是将每个实例都存储在不同的变量中,或占用列表或字典的不同位置。...原创 2022-07-22 11:03:40 · 255 阅读 · 0 评论 -
Python基础:第23课——函数参数
定义函数时,我们把参数的名字和位置确定下来,函数的接口定义就完成了。参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可。对于函数的调用者,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。.........原创 2022-07-19 17:49:08 · 431 阅读 · 0 评论 -
Python基础:第22课——函数的使用与定义
在Python中,使用def关键字定义函数,依次写出函数名、括号、括号中的参数和冒号。然后,在缩进块中编写函数体,函数的返回值用return语句返回。比如定义一个绝对值函数。ifx>=0returnxelsereturn-xx是参数,参数在函数名后的括号内指定。您可以根据需要添加任意数量的参数,只需用逗号分隔即可。函数体内部的语句执行时,一旦执行到return时,函数就执行完毕,并将结果返回。因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑。如果没有return。。.........原创 2022-07-19 16:07:43 · 268 阅读 · 0 评论 -
Python基础:第021课——draw类绘制图形
函数的返回值是一个Rect,表示的是受影响的Surface区域。参数是线条(或填充)的颜色,参数Rect的形式是((x,y),(width,height)),表示的是所绘制矩形的区域,其中第一个元组(x,y)表示的是该矩形左上角的坐标,第二个元组(width,height)表示的是矩形的宽度和高度。原型pygame.draw.arc(Surface,color,Rect,start_angle,stop_angle,width=1)returnRect。用途用于绘制圆形。.........原创 2022-07-19 10:31:38 · 8011 阅读 · 0 评论 -
Python基础:第020课——Color类与文字绘制
如果字体是位图并且没有给出大小,则默认大小设置为字体的第一个可用大小。,其中“rr”,“gg”,“bb”,“aa”都是2位的16进制数。“RGB值”可以是一个颜色名,一个HTML颜色格式的字符串,一个16进制数的字符串,或者一个整型像素值。返回一个新的Surface,文本以’fgcolor’给出的颜色呈现给它。表示绘制层、或绘图平面、或图层,用于表示图层、文字或图像的绘制效果,如果不绘制在主图层上,则不会被显示。Pygame中用于描述颜色的对象。,当然,其中的“aa”也是可选的。......原创 2022-07-19 10:30:14 · 3659 阅读 · 0 评论 -
Pygame 官方文档 【翻译】- pygame.freetype
否则,如果使用文本字符串调用,则render_to()将重新计算布局,或者在get_rect()调用之后,上述属性之一已更改。(可选)文本可以是None,它将返回传递给先前get_rect(),render(),render_to(),render_raw()或render_raw_to()调用的文本的边界矩形。可选地,文本可以是None,这将呈现传递给先前的get_rect(),render(),render_to(),render_raw()或render_raw_to()调用的文本。...原创 2022-07-19 09:57:40 · 1305 阅读 · 0 评论 -
Python基础:第019课——窗口缩放事件、最小化状态及处理
体验过电脑游戏的朋友们都知道,当运行程序后会在电脑桌面上出现一个游戏的主窗口,这个主窗口的本质是一个surface对象,把理解为画布、画板、白纸在合适不过了,它相当于一个载体,用于承载一切游戏所用到的元素。主窗口(screen)相当于游戏程序中尺寸最大的Surface对象,在这个最大的“画布”中,我们还可以添加其他“小”的Surface对象,这些对象以矩形的形式存在于主窗口中,它们共同组成了一个游戏程序。或通过操作系统特定的方法,例如大多数桌面上可用的最小化图标),这将返回False。......原创 2022-07-17 15:11:07 · 1689 阅读 · 0 评论 -
Python基础:第018课——鼠标拖动小球移动(2)
观看视频#mermaid-svg-iDzEiiSBHHHZ2iSu{font-family"trebuchetms",verdana,arial,sans-serif;font-size16px;fill#333;}#mermaid-svg-iDzEiiSBHHHZ2iSu.error-icon{fill#552222;}#mermaid-svg-iDzEiiSBHHHZ2iSu.error-text{fill#552222;stroke#552222;}#mermaid-svg-iDzEiiSBHHHZ。原创 2022-07-17 09:52:32 · 495 阅读 · 0 评论 -
Python基础:第017课——鼠标拖动小球移动(1)
鼠标是计算机最重要外接设备之一,同时它也是游戏玩家必不可少的工具之一。Pygame提供了三个鼠标事件,分别是鼠标移动。),不同事件类型对应着不同的成员属性。原创 2022-07-17 07:51:59 · 1621 阅读 · 1 评论 -
pygame中display模块
体验过电脑游戏的朋友们都知道,当运行程序后会在电脑桌面上出现一个游戏的主窗口,这个主窗口的本质是一个surface对象,把理解为画布、画板、白纸在合适不过了,它相当于一个载体,用于承载一切游戏所用到的元素。主窗口(screen)相当于游戏程序中尺寸最大的Surface对象,在这个最大的“画布”中,我们还可以添加其他“小”的Surface对象,这些对象以矩形的形式存在于主窗口中,它们共同组成了一个游戏程序。如果设置了新的显示模式,现有的Surface将自动切换到在新的显示器上运行。............翻译 2022-07-16 22:34:23 · 2185 阅读 · 0 评论 -
Python基础:第016课——键盘控制小球的速度
本次课:复习事件,通过对事件中键盘按键的处理进一步学习这种语句。查看事件及按键详细解析↑ (纵向):纵向绝对速度增加1个像素←(横向):横向绝对速度减少1个像素↓ (纵向):纵向绝对速度减少1个像素→(横向):横向绝对速度增加1个像素考虑到水平方向与纵向的速度大小不同,而且有各自的方向,因此,用表示速度的绝对值,用表示运动方向,那么:表示水平方向的运动。若,表示水平向右运动,若,表示水平向左运动,,表示水平方向不动,表示竖直方向的运动,............原创 2022-07-14 09:05:35 · 684 阅读 · 0 评论 -
Python基础:第015课——弹跳的小球(优化版),条件语句和常量
计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用语句实现:根据Python的缩进规则,如果语句判断是,就执行缩进的两行print语句,否则,什么也不做。也可以给添加一个语句,意思是,如果判断是,不要执行的内容,去把执行了:注意不要少写了冒号。当然上面的判断是很粗略的,完全可以用做更细致的判断:是的缩写,完全可以有多个,所以语句的完整形式就是:语句执行有个特点,它是从上往下判断,如果在某个判断上是,把该判断对应的语句执行后原创 2022-07-13 14:47:29 · 159 阅读 · 0 评论 -
Python基础:第014课——弹跳的小球
本次课,我们将实现小球在碰到窗口的边缘时发生反弹,先来看一下图。参考:pygame中的Rect对象下面的代码,球没有移动的原因就是方法错误,方法:返回按给定偏移量移动后的新矩形。x和y参数可以是任何整数值(正数或负数)。而原来的Rect对象并没有移动,需要将图像绘制在新的Rect对象中,这样才能产生动画因此,程序中这句应改成:通过修改,球一闪而过,速度太快,这时,我们需要用到time模块,设定每秒钟游戏的刷新频率,因此,应该添加:示例2:让小球反弹当小球碰到边缘的情况,就是绘制小球所在的Rec原创 2022-07-12 21:36:55 · 1967 阅读 · 0 评论 -
pygame中Rect对象
Rect 表示的区域必须位于一个 对象之上,比如游戏的主窗口()。上述方法由四个关键参数值构成,分别是 ,为了方便大家理解这些距离的含义,下面给出了一张示意图:注意:在 Pygame 中以游戏主窗口的左上角为坐标原点。返回一个(X,Y)坐标数组方法Rect 是用于存储矩形坐标的 Pygame 对象。Rect(rectangle)指的是矩形,或者长方形,在 Pygame 中我们使用 Rect() 方法来创建一个指定位置,大小的矩形区域。Rect(矩形区域)对象提供了一些方法。如下表所示:下原创 2022-07-12 16:41:48 · 1341 阅读 · 0 评论 -
Python基础:第013课——动画及人机交互初步
示例1:上面示例是一个无限循环,因为, 这个条件的值总是,要避免无限循环,就需要让语句的条件的值为,因此,需要这样更改:示例2:下面的示例是,只有当输入的值为时结束循环for循环为序列(或其他可迭代对象)中每个元素执行代码块。我们已经学过的有:list、tuple、string示例3关于range函数:pygame游戏开发的总体结构range() 函数用法 Python3 内置函数Python3 函数返回的是一个可迭代对象(类型是对象),而不是列表类型。Python3 函数是对象迭原创 2022-07-12 09:42:05 · 496 阅读 · 0 评论 -
Pygame Event事件模块(示例)
事件(Event)是 Pygame 的重要模块之一,它是构建整个游戏程序的核心,比如鼠标点击、键盘敲击、游戏窗口移动、调整窗口大小、触发特定的情节、退出游戏等等,这些都可以看做是“事件”,Pygame 会接受用户产生的各种操作(或事件),这些操作随时产生,并且操作量可大可小,那么 Pygame 是如何处理这些事件的呢?Pygame 定义了一个专门用来处理事件的结构,即事件队列,该结构遵循队列“先到先处理”的基本原则,通过事件队列,我们可以有序的、逐一的处理用户的操作(触发事件)。下述表格..........原创 2022-07-10 21:36:24 · 583 阅读 · 0 评论 -
Python基础:第012课——最小的程序框架(代码解析)
参考:pygame详细教程参考案例:游戏模块Pygame 作为一个入门级的游戏开发库,其实并不难学,只要掌握 Python 编程的相关知识就能很轻松地掌握它。Pygame 语法简单、明了,秉持了 Python 语言一贯的风格。同时,它作为一个游戏开发库来说,具有图形编程的基本特点,如果您对于图形编程从未了解过,即使您有 Python 编程基础,也会略感迷茫。因此,在接下来的学习中会详细介绍 Pygame 的常用模块,以及图形编程中的相关概念,帮助您快速掌握 Pygame 的使用。12. 代码解析Py原创 2022-06-28 21:19:44 · 798 阅读 · 0 评论 -
Pygame最常用的模块详解
Pygame 中用于描述颜色的对象。、 、Pygame 使用 类表示 颜色值,每个颜色值的取值范围是 。允许通过基本的算术运算创造新的颜色值,支持转换为其他颜色空间,例如 HSV 或 HSL,并让你调整单个颜色通道。当没有给出 的值默认是 255(不透明)。“值”可以是一个颜色名,一个 颜色格式的字符串,一个 16 进制数的字符串,或者一个整型像素值。HTML 格式是 “#rrggbbaa”,其中 “rr”,“gg”,“bb”,“aa” 都是 2 位的 16 进制数。代表 alpha 的 “aa”原创 2022-06-18 19:19:52 · 17277 阅读 · 1 评论