Pygame入门
文章平均质量分 71
棉猴
这个作者很懒,什么都没留下…
展开
-
Pygame中播放音频的方法
mixer模块包含了用于导入与播放音频的类,而mixer模块中的music模块可以直接将音频文件导入到内存中用于播放。原创 2024-05-15 16:17:05 · 438 阅读 · 0 评论 -
Pygame实现黑客帝国屏幕效果
黑客帝国的屏幕效果如图1所示。图1 黑客帝国屏幕效果实现以上功能,实际上就是在Pygame中创建两个Surface,其中一个Surface是纯黑屏背景,用来覆盖之前的屏幕,达到数字逐渐消失的效果;另一个Surface用来显示数字,达到数字下移的效果。原创 2023-09-30 16:44:42 · 366 阅读 · 0 评论 -
Pygame中实现图片的移动
在和中提到将鼠标设置为指定图片。接下来在该文章涉及到的代码基础之上,实现图片的移动,效果如图1所示。图1 图片移动效果从图1中可以看出,导入一个大猩猩的图片,让大猩猩图片可以在创建的屏幕上左右移动。原创 2023-10-19 20:54:07 · 822 阅读 · 0 评论 -
Pygame中将鼠标形状设置为图片2-2
其中,第20行代码调用pygame.mouse模块中的set_visible()方法,将其参数设置为False,表示隐藏鼠标;第24行代码使用使用pygame.sprite模块中的RenderPlain()方法将mouse加入到Group中,实际上RenderPlain()方法与Group()方法的作用相同。其中,第26行中的going是控制程序是否运行的标志,当用户点击屏幕右上角的退出按键后,根据28-30行的代码,将going设置为False,此时while循环结束,程序退出;原创 2023-10-12 18:53:04 · 590 阅读 · 0 评论 -
Pygame中将鼠标形状设置为图片2-1
要将鼠标的形状改为图片,需要要导入该图片。因此,首先定义导入图片的方法,代码如图2所示。图2 导入图片的代码从图中代码可以看出,导入图片的方法的名字叫做load_image(),该方法的参数name表示要导入图片的路径。第4行待用通过pygame.image模块的load()方法导入图片,该方法的返回值image是一个Surface类型的变量,表示导入的图片。此时已经成功地导入了图片,为什么还有有接下来的5-7行代码呢?如果没有这几行代码,表示鼠标的图片显示的效果如图3所示。原创 2023-10-12 18:49:53 · 802 阅读 · 0 评论 -
Pygame中监控鼠标动作的方法
在中提到,通过在while True循环中获取队列中事件的方法监控键盘动作。监控鼠标动作的方法与监控键盘动作的方法相同。原创 2023-09-28 16:44:04 · 938 阅读 · 0 评论 -
Pygame中Sprite的使用方法6-6
其中,screen表示程序的整个界面,将其绘制为白色背景;之后通过all_sprites_list.draw()绘制碰撞后剩下的方块(碰撞的方块已经在group中删除);最后显示重新绘制的内容。每次碰撞发生后,程序界面需要重新绘制,代码如下所示。以上程序的完整代码如下所示。原创 2023-09-24 18:59:39 · 131 阅读 · 0 评论 -
Pygame中Sprite的使用方法6-5
block_list包含了所有绿色方块的Group实例,因为在碰撞发生后,被碰撞的绿色方块要消失,因此,把spritecollide()方法的第三个参数设置为True。其中,通过pygame.mouse.get_pos()获取鼠标的当前位置,并将鼠标的横坐标pos[0]赋值给蓝色方块的x坐标player.rect.x,鼠标的纵坐标pos[1]赋值给蓝色方块的y坐标player.rect.y。蓝色方块会随着鼠标移动,当碰到绿色方块时,则当前分数加1,当碰到红色方块时,当前分数减1。原创 2023-09-24 18:57:05 · 179 阅读 · 0 评论 -
Pygame中Sprite的使用方法6-4
首先定义Sprite派生类Block,Block表示程序中的方块,代码如下所示。其中,Block类的__init__()方法的color参数表示方块的颜色,width和height表示方块的宽度和高度。在__init__()方法中首先调用父类也就是Sprite类的__init__()方法;之后通过pygame.Surface()方法创建方块;接下来调用fill()方法为方块填充颜色;最后通过get_rect()获取方块的位置。相关链接1 pygame.sprite.Sprite类的使用,请参考。原创 2023-09-24 18:53:29 · 354 阅读 · 0 评论 -
Pygame中Sprite类的使用6-3
pygame.sprite.Group类是一个容器,可以包含多个Sprite类的实例。可以对Group类中的Sprite实例进行同一的绘制和更新,使得代码得到了简化。原创 2023-09-19 13:09:51 · 281 阅读 · 0 评论 -
Pygame中Sprite类的使用6-2
之后将z1的rect的x每次减5,表示每次循环僵尸向左侧移动5个单位,之后就是通过draw()和update()来绘制并且在新位置上显示僵尸;每绘画一次,就是一帧。tick()函数的作用是设置FPS的值,参数10表示FPS的值10,即每秒所运行的帧数不超过10次,也就是保证了while循环每秒只能循环10次。让僵尸能够动起来,也就是让僵尸从屏幕右边走到屏幕左边,此时只需要使用while循环,改变僵尸图片的x轴坐标即可,代码如下所示。之后,在while循环的内部,来设置FPS的值,代码如下所示。原创 2023-09-10 18:17:54 · 214 阅读 · 0 评论 -
Pygame中Sprite类的使用6-1
在Pygame中有一个名为sprite的模块,又叫做“精灵”模块。通过该模块中的Sprite类可以实现图形的绘制、移动以及碰撞检测等功能。原创 2023-09-10 18:14:28 · 603 阅读 · 0 评论 -
Pygame中Trivia游戏解析6-6
【代码】Pygame中Trivia游戏解析6-6。原创 2023-09-02 17:40:36 · 65 阅读 · 0 评论 -
Pygame中Trivia游戏解析6-5
当scored或者failed有一个是True时,即用户回答了当前题目,把与题目相关的变量恢复初始值,current表示当前题目所在的函数,而下一题目所在的行数应该是当前题目所在的行数加6(6行包括了当前题目内容1行,题目选项4行,正确答案1行,如图6所示)。当变量scored和failed都不是False时,即用户还没给出题目的答案时,判断用户给出的题目number与题目的正确答案correct是否相等。在Trivia的主程序中,对程序所需的变量进行初始化,之后创建了Trivia类的对象,代码如下所示。原创 2023-09-02 17:38:54 · 1077 阅读 · 0 评论 -
Pygame中Trivia游戏解析6-4
当用户的答案是正确时,用绿色字体显示正确选项,红色字体显示用户选择的错误选项,并且会有红色字体的提示,如图7①和图7②所示。其中,current表示当前题目内容在data中的行数,接下来的4行是题目的选项,之后的第5行即为正确答案,如图6所示。当failed是True时,表示答案错误,wronganser表示错误答案,correct表示正确答案。在显示题目选项时,有三种情况:分别是用户还未选择答案时;当用户的答案是正确时,用绿色字体显示该选项,并且会有绿色字体的提示,如图5①和图5②所示。原创 2023-09-02 17:35:32 · 343 阅读 · 0 评论 -
Pygame中Trivia游戏解析6-3
font1和font2在程序中定义的两个字体。因为题目内容在读取到数据data的当前行,str(question)表示第几个题目,self.data[self.current]表示题目的内容,如图3①、图3②所示。主要包括显示题目框架、显示题目内容和显示题目选项等三部分。以上代码通过调用Trivia类的print_text()函数,显示了题目的框架,如图2①-④所示。在show_question()函数中,通过以下代码显示题目的框架。在show_question()函数中,通过以下代码显示题目的内容。原创 2023-09-02 17:30:30 · 534 阅读 · 0 评论 -
Pygame中Trivia游戏解析6-2
text表示指定内容,color表示指定颜色;在函数内部,如果shadow是True,则表示使用阴影效果,screen.blit()函数的x-2,y-2参数表示显示阴影(与最后一行代码中的screen.blit()函数配合使用)。其中,open()函数的作用是打开文件,该函数的第一个参数filename是Trivia类的参数,在定义该类的对象时指定,表示保存题目的文件名。在《Python中文件的读取》中提到,readlines()函数会读取每一行的换行符,因此需要将该符号去掉,代码如下所示。原创 2023-09-02 17:26:31 · 422 阅读 · 0 评论 -
Pygame中Trivia游戏解析6-1
Trivia的含义是“智力测验比赛中的各种知识”。Trivia游戏类似智力竞赛,由电脑出题,玩家进行作答,之后电脑对玩家的答案进行判断,给出结果并进行评分。该游戏的界面如图1所示。图1 Trivia游戏界面。原创 2023-09-02 17:22:07 · 505 阅读 · 0 评论 -
Pygame中监控键盘按键的方法
当判断出是键盘按键事件后,接下来判断用户按下的是键盘中的哪个按键,根据不同的按键进行不同的处理。按下的是数字2键,则显示数字2,以此类推。其中,event.key表示按键对应的值,pygame.K_1到pygame_K_4分别表示数字1键到数字4键对应的值。在Pygame中获取按键的基本原理就是从队列中取出这些事件,如果是键盘事件,则继续判断用户按下的是哪个键,根据不同的按键进行不同的处理。其中,event.type表示事件的类型,KEYUP在pygame.locals中定义,表示键盘中的某个键被按下。原创 2023-07-02 11:44:19 · 4128 阅读 · 2 评论 -
Pygame实现方块反弹
在移动方块的时候,需要定义方块的位置变量和移动的速度,代码如下所示。vel_x = 2vel_y = 1其中,变量pos_x和pos_y表示方块的起始位置,即横坐标和纵坐标。代码中的取值表示方块从屏幕的中心位置开始移动。变量vel_x和vel_y表示方块在横向和纵向移动的速度。原创 2023-02-28 09:09:58 · 549 阅读 · 0 评论 -
Pygame中画圆
在Pygame中,可以通过draw模块下的circle()函数来进行画圆。原创 2023-02-17 23:17:55 · 1193 阅读 · 0 评论 -
Pygame显示文字
使用Pygame显示文字的步骤如图1所示。图1 显示文字的步骤。原创 2023-02-09 13:33:56 · 3911 阅读 · 0 评论