首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python之pygame学习(2)

pygame学习 ✕ 上次学会了初始化,这次来说下显示画面 ?...初始化窗口或屏幕以进行显示 ''' pygame.display.set_mode 一共三个参数,依次为:分辨率,显示模式,颜色位数;返回窗口数据 ''' pygame.display.set_mode...显示窗口设置的参数如下;resolution :参数是一个元祖,值为窗口的宽高flags :参数是显示模式(可以使用 ‘&’ 或者 '|’ 来一次设置两个, 传入0则使用默认值) pygame.FULLSCREEN...:创建画面全屏 pygame.DOUBLEBUF:使用HWSURFACE或OPENGL是加上这个标志 pygame.HWSURFACE:使用硬件加速,使用FULLSCREEN pygame.OPENGL...:创建一个可以使用opengl的display(不太理解Open的作用pygame.RESIZABLE:的窗口可变大小 pygame.NOFRAME:窗口没有边框和控制条 depth:参数表示颜色的位数

1.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

一个Python游戏项目,助你玩乐中搞定Python

本项目中,你将学习如何使用Pygame,这个扩展让你能够使用Python编写功能齐备的全屏街机游戏。 Pygame易于使用,功能非常强大。...4.2 pygame.locals 模块pygame.locals包含你可能在自定义模块的作用域内使用的名称(变量),如事件类型、键、视频模式等名称。...4.3 pygame.display 模块pygame.display包含处理内容显示的函数,这些内容可显示普通窗口中,也可占据整个屏幕。在这个项目中,需要用到如下函数: flip:更新显示。...函数set_caption主要用于游戏在窗口中运行(而不是以全屏模式运行)时,因为标题将用作窗口的标题。...你无需关心细节,只需调用convert时不提供任何参数即可。这将根据当前显示量身定制一个Surface对象,从而最大限度的提高其显示速度。

1.9K10

自制街机游戏(1):初次实现

本项目中,你将学习如何使用Pygame,这个扩展让你能够使用Python编写功能齐备的全屏街机游戏。Pygame虽然易于使用,功能却非常强大。...2.2.pygame.locals 模块pygame.locals包含你可能在自定义模块的作用域内使用的名称(变量),如事件类型、键、视频模式等名称。...2.3.pygame.display 模块pygame.display包含处理内容显示的函数,这些内容可显示普通窗口中,也可占据整个屏幕。在这个项目中,需要用到如下函数。 flip:更新显示。...函数set_caption主要用于游戏在窗口中运行(而不是以全屏模式运行)时,因为标题将用作窗口的标题。...你无需关心细节,只需调用convert时不提供任何参数即可。这将根据当前显示量身定制一个Surface对象,从而最大限度的提高其显示速度。

2.5K20

pygame系列_小球完全弹性碰撞游戏_源码下载

7.玩家可以按键盘:Esc键实现退出全屏操作   8.窗口左下角显示小球个数,右下角显示作者邮箱 先看看图: ?...18 7.玩家可以按键盘:Esc键实现退出全屏操作 19 8.窗口左下角显示小球个数,右下角显示作者邮箱 20 21 ''' 22 __author...18 7.玩家可以按键盘:Esc键实现退出全屏操作 19 8.窗口左下角显示小球个数,右下角显示作者邮箱 20 21 v1.1修改如下: 22...18 7.玩家可以按键盘:Esc键实现退出全屏操作 19 8.窗口左下角显示小球个数,右下角显示作者邮箱 20 21 v1.1修改如下: 22...v1.2修改如下: 27 1.修改键盘方向键:左,右键为调节音量(0, 10) 28 2.状态栏添加音量状态信息:数字和图形显示 29 30 '''

1.4K30

PYGAME学习笔记_01

类用与描述矩形区域:Rect(x,y,width,height) 1.3_创建游戏主窗口 pygame.display.set_mode() 初始化游戏显示窗口 pygame.display.update...flags:参数指定屏幕的附加选项,例如是否全屏,默认不需要传递 depth:参数表示颜色的位数,默认自动分配 返回值:必须要记录,因为后续图像绘制都基于这个返回结果 1.4_简单的游戏循环 为了维持游戏程序不退出.../Image/background.png” 使用游戏屏幕对象,调用blit方法将图像绘制到指定位置 调用pygame.display.update()方法更新整个屏幕的显示 可以screen对象完成所有...游戏循环 设置刷新帧率 检测用户交互 更新所有图像位置 更新屏幕显示 3.3_游戏时钟 pygame.time.Clock 游戏初始化创建一个时钟对象 游戏循环中让时钟对象调用tick(...帧率) 方法 tick方法会根据上次被调用的时间,自动设置游戏循环中的延时 3.4_英雄的简单动画实现 修改飞机位置,先重新绘制背景,再绘制飞机,最后update更新显示 3.5_游戏循环中监听事件

66620

Python游戏工具包---Pygame最常用的15个模块详解(附pdf版本)

Pygame 的 Surface 对象即可显示为一个窗口,也可以全屏模式显示。...当 Pygame 的 display 被初始化的时候,将检测环境变量。注意,一个运行的窗口嵌入 display 会产生许多奇怪的副作用。 多次调用该函数并没有任何问题,但也不会有什么效果。...Pygame 将为模拟一个非现成的颜色深度而耗费更多的时间。 当使用全屏显示模式的时候,有时候无法完全匹配到需要的分辨率。...这儿是 flags 参数提供的几个可选项: 选项 含义 pygame.FULLSCREEN 创建一个全屏显示 pygame.DOUBLEBUF 1. 双缓冲模式 2....全屏模式下,该方法总会返回 True。 注意: MS Windows 系统中,一个窗口可以同时对鼠标和键盘事件保持监听。

15.3K55

Python 游戏编程之实现飞机大战(含源代码)

一.游戏设定 游戏界面如下图所示: 游戏的基本设定: 敌方共有大中小3款飞机,分为高中低三种速度; 子弹的射程并非全屏,而大概是屏幕长度的80%; 消灭小飞机需要1发子弹,中飞机需要8发,大飞机需要20...发子弹; 每消灭一架小飞机得1000分,中飞机6000分,大飞机10000分; 每隔30秒有一个随机的道具补给,分为两种道具,全屏炸弹和双倍子弹; 全屏炸弹最多只能存放3枚,双倍子弹可以维持18秒钟的效果...另外还对游戏做了一些改进,比如为中飞机和大飞机增加了血槽的显示,这样玩家可以直观地知道敌机快被消灭了没有;我方有三次机会,每次被敌人消灭,新诞生的飞机会有3秒钟的安全期;游戏结束后会显示历史最高分数。...这个游戏加上基本的注释代码量800行左右,代码看上去比较多,多打代码少动脑。所以大家不要怕,越是多的代码,逻辑就越容易看得清楚,就越好学习。好,那让我们从无到有,从简单到复杂来一起打造这个游戏吧!...敌机分为小、中、大三个尺寸,它们的速度依次是快、中、慢,游戏界面的上方位置创造位置随机的敌机,可以让它们不在同一排出现。

20.8K43

Pygame-hello world

使用pygame 模块名 功能 pygame.cdrom 访问光驱 pygame.cursors 加载光标 pygame.display 访问显示设备 pygame.draw 绘制形状、线和点 pygame.event...管理事件 pygame.font 使用字体 pygame.image 加载和存储图片 pygame.joystick 使用游戏手柄或者 类似的东西 pygame.key 读取键盘按键 pygame.mixer...声音 pygame.mouse 鼠标 pygame.movie 播放视频 pygame.music 播放音频 pygame.overlay 访问高级视频叠加 pygame 就是我们在学的这个东西了……...() #刷新一下画面 set_mode会返回一个Surface对象,代表了桌面上出现的那个窗口,三个参数第一个为元祖,代表分 辨率(必须);第二个是一个标志位,具体意思见下表,如果不用什么特性...标志位 功能 FULLSCREEN 创建一个全屏窗口 DOUBLEBUF 创建一个“双缓冲”窗口,建议HWSURFACE或者OPENGL时使用 HWSURFACE 创建一个硬件加速的窗口,必须和FULLSCREEN

77840

2018年8月10日对飞机大战的思考和将python源文件打包成exe可执行文件

添加四个不同方向枪口的坦克图片,方向键切换不同的图片 pygame中的kill()命令的真正意义是不再渲染,精灵组里面就是把这个精灵清除,不会再检测到碰撞,而不会真正杀死那个变量,那个变量还是存在的...继承父类的真正作用:加载图片并让图片动起来 余自华保护罩怎么跟着走和显示飞机上?...pygame中的自定义事件无论多少都是写USEREVENT +1 锻炼口才 python的类中设置静态方法的优势是可以不用创建对象的前提下,直接类名.方法名直接使用,文件中的所有对象 都可以直接调用...([640,480])里面的第一个参数必须是一个列表,也可以是如下的形式 screen=pygame.display.set_mode((640,480), 0, 32), 第一个参数是大小,第二个参数是控制是否全屏...,第三个参数是显示颜色深度

1.6K30

2018年8月6日初次写飞机大战的总结

screen = pygame.display.set_mode((512,768),0,32)大小,是否全屏,图片颜色深度 pygame.display.update()  渲染窗口 添加图片用的是...RecursionError: maximum recursion depth exceeded while calling a Python object 这个错误就是__init后边的双斜杠忘写了 继承的作用...重写父类的update()方法,让子弹超出边界销毁 因为子弹的位置和英雄飞机有关,所以把子弹的精灵组当做飞机的一个属性进行设置 并在英雄飞机中添加攻击方法,攻击生成的子弹直接add到子弹的精灵组中 空格攻击键中调用飞机的攻击方法...1000毫秒 如果想定时地做一件事:定时器和自定义事件,可以用USEREVENT+1 创建敌机的步骤: 首先创建一个敌机的精灵类型,初始化敌机的数据,限制敌机的出现位置,重写update方法 让敌机飞出屏幕后自动销毁...创建敌机的精灵组对象 创建一个自定义事件 创建一个时钟,跟在精灵组之后,定时发生某个事件,Pygeme.event中发现定时触发的事件, 这时创建敌机并加入敌机精灵组中,并在最后渲染出来

88830

用python写一个简单的贪吃蛇游戏

这两个引擎我们都有过案例,其中 pygame 更是做过一个较为详尽的入门教程 --《打飞机》小游戏,链接见文末。 今天要给大家分享的是一个 pygame 写的“贪吃蛇”小游戏: ?...另外比较有趣的一点是,Python 这个单词英语里就是蟒蛇的意思,贪吃蛇可以算是“同名游戏”了。 很多学校里程序开发课程的作业都会有贪吃蛇的选题,也经常会有同学问到我们相关的代码。...= 3: direct = 2 # 0.1 画全屏的黑色背景 screen.fill(black) # 1 判断是否移动 if dt > interval: # 移动的时间间隔...长尾巴 score += 1 if not f.get_foodpos(foodr,snake): going = False # 生成 food 新位置, 如果占满全屏...,则退出 # 5 屏幕刷新 pygame.display.flip() # 显示图形 完整代码和详细说明比较长,就不都贴在这里了,大家可以下载项目到本地后查看及运行。

2.2K10

pygame-游戏开发学习笔记(二)–模块表与背景图样例。

游戏,也可以3D先从简单的入手吧,先看一下pygame模块一览表 pygame.cdrom 访问光驱 pygame.cursors 加载光标 pygame.display 访问显示设备 pygame.draw...Python #coding:utf-8 ''' 本测试样例将创建一个窗口,然后显示一张图片, ''' #!...#coding:utf-8'''本测试样例将创建一个窗口,然后显示一张图片,'''#!...标志位 功能 FULLSCREEN 创建一个全屏窗口 DOUBLEBUF 创建一个“双缓冲”窗口,建议HWSURFACE或者OPENGL时使用 HWSURFACE 创建一个硬件加速的窗口,必须和FULLSCREEN...Related posts: pygame-游戏开发学习笔记(三)–event事件捕捉 pygame-游戏开发学习笔记(四)–pygame.display.set_mode()显示的问题 pygame

1.3K40

从零开始学习PYTHON3讲义(十五)让画面动起来

绘图包会自动调整数学坐标系跟窗口分辨率的比例(窗口分辨率是可以程序中设置的,只是前面的学习中我们基本使用了默认的设置),从而让显示效果最优。...游戏的显示过程中,如果不考虑透明度A的部分,所有颜色都是使用“三基色”来表达的,也就是红、绿、蓝,每个颜色分量可以的取值分为是0到255。0表示完全没有这个颜色,255表示这个颜色最强。...当然函数化的时候要考虑到变量作用域,避免增加不必要的麻烦。 ---- 常用绘图功能 我们介绍几个常用的绘图功能,然后就可以代入到上面的模板代码中来实验了。...:pygame.draw.line 画弧线:pygame.draw.arc 画矩形:pygame.draw.rect 正常情况下,pygame显示一个窗口中显示的(也可以根据需要设置全屏),窗口可以设置一个标题来表示你当前做的工作...白色填充窗口 screen.blit(arrow,(x1,y1)) #绘制羽箭 screen.blit(badguy[badguyIndex],(x2,y2)) #绘制地鼠 #显示屏幕上

1.2K20
领券