PyGame之怎么打开一个窗口 |
您所在的位置:网站首页 › 农用车554拖拉机价格 › PyGame之怎么打开一个窗口 |
PyGame之怎么打开一个窗口
发布时间:2021-10-25 16:38:38
来源:亿速云
阅读:122
作者:iii
栏目:编程语言
这篇文章主要介绍“PyGame之怎么打开一个窗口”,在日常操作中,相信很多人在PyGame之怎么打开一个窗口问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PyGame之怎么打开一个窗口”的疑惑有所帮助!接下来,请跟着小编一起来学习吧! 导入和运行pygame你可以创建一个python文件,比如mygame1.py。然后在文件开头写入 import pygame pygame.init()好的,运行它。没有变化?那就对了,现在也就是控制台有几行输出。 Screen、Surface和Backgroundpygame运行的时候显示的最大的那个窗口就是screen,比如你运行LOL,哪个窗口最大应该很好确定。通过pygame,我们可以在screen中创建和控制很多长方形的区域,这些区域叫做surface。我们会用一个surface作为背景,这个surface就是background。接下来我们创建一个background并把它添加到screen中。 screen = pygame.display.set_mode((640,480)) # 设置窗口的大小 background = pygame.Surface(screen.get_size()) # 创建一个surface,名字叫background,大小和screen一样 background.fill((255,255,255)) # 用白色填充background;255,255,255是RGB的白色 background = background.convert() # 对background进行convert(),可以加快后面添加时速度把background添加(blit)到screen运行你的程序。什么?只看到一个黑窗口一闪而过?那又对了~ 到目前为止,我们只是在内存中创建了background,还没有把background添加到screen中,所以我们是看不到白背景的。 screen.blit(background, (0, 0)) # 把background添加到screen中,(0, 0)表示把background的左上角放到screen的左上角在很多游戏框架中,当然pygame也是,坐标原点在窗口左上角的顶点处,就是这个样子 主循环就是一个近乎无限的循环,只有你要退出游戏时主循环才停止。 mainloop = True while mainloop: for event in pygame.event.get(): # 这一部分就是事件处理 if event.type == pygame.QUIT: # 如果按下右上角的叉叉 mainloop = False # 退出主循环 elif event.type == pygame.KEYDOWN: # 如果按下了键盘 if event.key == pygame.K_ESCAPE: # 而且按下的还是ESC键 mainloop = False # 退出主循环 # 在这里做一些游戏相关的运算,这里暂时省略 pygame.display.flip() # 刷新显示Ok,再次运行你的游戏~ 这时你将得到一个白色的窗口。下面我们将在窗口里显示一些东西。 显示帧率帧率就是游戏每秒运行的帧数,简称FPS,玩过游戏你一定知道FPS。帧率越高,游戏就越流畅。我们可以这样获得帧率 clock = pygame.time.Clock() # 创建clock对象 clock.get_fps() # 获得帧率现在我们把显示帧率的逻辑加入到主循环中 clock = pygame.time.Clock() # 创建clock对象 FPS = 30 # 定义帧率的上限,就是帧率的最大值 mainloop = True while mainloop: clock.tick(FPS) # 设置最大帧率 for event in pygame.event.get(): # 这一部分就是事件处理 if event.type == pygame.QUIT: # 如果按下右上角的叉叉 mainloop = False # 退出主循环 elif event.type == pygame.KEYDOWN: # 如果按下了键盘 if event.key == pygame.K_ESCAPE: # 而且按下的还是ESC键 mainloop = False # 退出主循环 # 在这里做一些游戏相关的运算,这里暂时省略 text = "FPS: {0:.2f}".format(clock.get_fps()) pygame.display.set_caption(text) pygame.display.flip() # 刷新显示运行你的代码~ 帧率可以显示了 程序结束时,需要退出pygame以释放申请的计算资源。 pygame.quit()完整的代码import pygame pygame.init() screen = pygame.display.set_mode((640,480)) # 设置窗口的大小 background = pygame.Surface(screen.get_size()) # 创建一个surface,名字叫background,大小和screen一样 background.fill((255,255,255)) # 用白色填充background;255,255,255是RGB的白色 background = background.convert() # 对background进行convert(),可以加快后面添加时速度 screen.blit(background, (0, 0)) clock = pygame.time.Clock() # 创建clock对象 FPS = 30 # 定义帧率的上限,就是帧率的最大值 mainloop = True while mainloop: clock.tick(FPS) # 设置最大帧率 for event in pygame.event.get(): # 这一部分就是事件处理 if event.type == pygame.QUIT: # 如果按下右上角的叉叉 mainloop = False # 退出主循环 elif event.type == pygame.KEYDOWN: # 如果按下了键盘 if event.key == pygame.K_ESCAPE: # 而且按下的还是ESC键 mainloop = False # 退出主循环 # 在这里做一些游戏相关的运算,这里暂时省略 text = "FPS: {0:.2f}".format(clock.get_fps()) pygame.display.set_caption(text) pygame.display.flip() # 刷新显示 pygame.quit()到此,关于“PyGame之怎么打开一个窗口”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章! 免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:[email protected]进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。 python pygame 上一篇新闻:有哪些HashMap面试专题 下一篇新闻:MySQL innoDB独立表空间和共享表空间的优点和缺点是什么![]() 红包可用于(云服务器、高防服务器、裸金属服务器、高防IP、云数据库、CDN加速)购买和续费 猜你喜欢 一个简单实例,理解python闭包 Error: DPI-1047: Cannot locate a 64-bit Oracle Client library: "问题 爬虫可以采集哪些数据?爬虫借用什么代理可以提高效率 什么编程语言更简单易学呢?学习Python就业如何? Python编写时有哪些错误 Python标准库13 循环器 (itertools) 怎么理解Python的内存管理 线上学习就业两不误,这套Python教程学完高薪就业不是事! Python学习参加培训怎么样?靠谱吗? Python类有哪些 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |