python游戏开发Pygame框架


Posted in Python onApril 22, 2022

1.最小开发框架代码

import sys 
import pygame
pygame.init() 
size=w,h = (800,600)
screen = pygame.display.set_mode(size) 
pygame.display.set_caption("hello world") 
screen.fill((255,255,255))
while True:
    for event in pygame.event.get(): 
        if event.type == pygame.QUIT: 
            sys.exit()
    pygame.display.update() 

2.关键代码介绍

sys和pygame模块

import sys #python的标准库,对内部各功能模块进行初始化创建,系统模块
import pygame #pygame是跨平台Python模块,专门为电子游戏设计,包含图像、声音等。

初始化init()及设置

pygame.init() #电脑调用接口,基础功能的检查(硬件环境)初始化
  • pygame.init() 就是检查电脑上的一些硬件调用接口、基础功能是否有问题,如果有,则会在程序运行之前进行反馈,方便排查。简单来说就是对电脑调用的接口进行初始化。

屏幕大小、标题、颜色设置

size=w,h = (800,600) 
screen = pygame.display.set_mode(size) #pygame.display.set_mode 一个二值元组,分别表示宽度和高度。
pygame.display.set_caption("hello world") #括号内为窗口的标题内容
screen.fill((255,255,255)) #屏幕的颜色,填充背景色,其中的参数为(R,G,B),范围为:0~~255,用整数表示。
  • pygame.display.set_mode(resolution=(0,0), flags=0, depth=0) -> Surface(对象)。
  • resolution 参数是一个二元组,表示宽和高。
  • flags 参数是附件选项的集合。
  • flags 参数指定你想要的显示类型。例如:全屏显示、双缓冲模式、硬件加速等等。
  • depth 参数表示使用的颜色深度。

通常来说,是不需要传递 depth 参数。因为默认 Pygame 会根据当前操作系统选择最好和最快的颜色深度。

python游戏开发Pygame框架

事件循环

while True:
    for event in pygame.event.get(): #遍历事件列表
  • while True 无限循环,直到从键盘或鼠标触动事件在退出循环。
  • pygame.event.get() 从事件队列中取出事件(列表),并从队列中删除该事件,例如:键盘按下是一个事件
  • 在pygame中,所用事件都存放在事件列表中,使用pygame.event.get()可以取出一个事件。

退出游戏

if event.type == pygame.QUIT: #pygame.QUIT == 12 
            sys.exit() # 退出游戏
  • event.type 获取事件类型,并逐个响应
  • pygame.QUIT是pygame中定义的退出事件常量

窗口刷新:

pygame.display.update() #对显示窗口进行更新,默认窗口全部重绘

注意事项:

  • 要用pygame制作游戏代码时,一般用Pycharm进行编写代码,而不用python。
  • 要添加一些事件时,直接在for循环中添加相应的代码。
  • 使用Pycharm进行编程时一定要配置环境变量,否则会运行报错。
  • 在用Pycharm进行编程时,也可以使用类、继承、多态等方法。

到此这篇关于基于python 的Pygame最小开发框架的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
python从入门到精通(DAY 2)
Dec 20 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
Oct 29 Python
python生成多个只含0,1元素的随机数组或列表的实例
Nov 12 Python
django session完成状态保持的方法
Nov 27 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
Python3爬楼梯算法示例
Mar 04 Python
Python2与Python3的区别实例总结
Apr 17 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
OpenCV中VideoCapture类的使用详解
Feb 14 Python
keras 如何保存最佳的训练模型
May 25 Python
python中K-means算法基础知识点
Jan 25 Python
Python3+Django get/post请求实现教程详解
Feb 16 Python
python中的random模块和相关函数详解
Apr 22 #Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 #Python
微信小程序调用python模型
Apr 21 #Python
使用python绘制分组对比柱状图
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
Apr 21 #Python
Python尝试实现蒙特卡罗模拟期权定价
Python matplotlib绘制条形统计图 处理多个实验多组观测值
You might like
一个典型的PHP分页实例代码分享
2011/07/28 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
PHP单例模式详细介绍
2015/07/01 PHP
PHP查看SSL证书信息的方法
2016/09/22 PHP
解决thinkphp5未定义变量会抛出异常,页面错误,请稍后再试的问题
2019/10/16 PHP
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
a标签的href和onclick 的事件的区别介绍
2013/07/26 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
jQuery formValidator表单验证
2016/01/07 Javascript
JavaScript代码实现图片循环滚动效果
2020/03/19 Javascript
Json按某个键的值进行排序
2016/12/22 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
2017/03/02 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
Python入门篇之函数
2014/10/20 Python
Python itertools模块详解
2015/05/09 Python
Python简单实现子网掩码转换的方法
2016/04/13 Python
Python中import机制详解
2017/11/14 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
python使用flask与js进行前后台交互的例子
2019/07/19 Python
python 根据字典的键值进行排序的方法
2019/07/24 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
Python截图并保存的具体实例
2021/01/14 Python
德国化妆品和天然化妆品网上商店:kosmetikfuchs.de
2017/06/09 全球购物
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
四风问题查摆剖析材料
2014/10/11 职场文书
保研推荐信范文
2015/03/25 职场文书
运动员代表致辞
2015/07/29 职场文书
求职信:会计求职的写作技巧
2019/04/24 职场文书
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python