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中分数的相关使用教程
Mar 30 Python
Python3中的2to3转换工具使用示例
Jun 12 Python
Django框架中render_to_response()函数的使用方法
Jul 16 Python
Python科学计算之NumPy入门教程
Jan 15 Python
Python 转义字符详细介绍
Mar 21 Python
Python3学习笔记之列表方法示例详解
Oct 06 Python
python模拟登陆,用session维持回话的实例
Dec 27 Python
Python中的引用知识点总结
May 20 Python
python做反被爬保护的方法
Jul 01 Python
Python接口测试结果集实现封装比较
May 01 Python
Django 解决model 反向引用中的related_name问题
May 19 Python
Appium中scroll和drag_and_drop根据元素位置滑动
Feb 15 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中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
用JavaScript实现单继承和多继承的简单方法
2009/03/29 Javascript
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
JS子父窗口互相操作取值赋值的方法介绍
2013/05/11 Javascript
不到30行JS代码实现Excel表格的方法
2014/11/15 Javascript
JavaScript控制网页层收起和展开效果的方法
2015/04/15 Javascript
jQuery实现为控件添加水印文字效果(附源码)
2015/12/02 Javascript
JavaScript 2048 游戏实例代码(简单易懂)
2016/03/25 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
2016/06/12 Javascript
浅谈JavaScript中的this指针和引用知识
2016/08/05 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
几种响应式文字详解
2017/05/19 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
Vue基础学习之项目整合及优化
2019/06/02 Javascript
vue-cli3配置与跨域处理方法
2019/08/17 Javascript
vue.js click点击事件获取当前元素对象的操作
2020/08/07 Javascript
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
使用11行Python代码盗取了室友的U盘内容
2018/10/23 Python
numpy给array增加维度np.newaxis的实例
2018/11/01 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
python命令 -u参数用法解析
2019/10/24 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
应届生护士求职信
2013/11/01 职场文书
英文商务邀请信
2014/01/22 职场文书
企业文明单位申报材料
2014/05/16 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
2016年幼儿园庆六一开幕词
2016/03/04 职场文书
7个你应该知道的JS原生错误类型
2021/04/29 Javascript