基于python 的Pygame最小开发框架
作者:牧子川 发布时间:2022-01-23 12:22:40
标签:python,Pygame,最小,开发,框架
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 会根据当前操作系统选择最好和最快的颜色深度。
事件循环
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进行编程时,也可以使用类、继承、多态等方法。
来源:https://blog.csdn.net/qq_48764574/article/details/114700526


猜你喜欢
- go语言并没有强制一定要使用一定的工作空间和项目结构,对于小型的go程序依靠go run等命令就可以直接编译运行。然而,保持良好的工作空间和
- 本文实例讲述了php查询whois信息的方法。分享给大家供大家参考。具体如下:这里使用php通过查询whois信息的网站列表进行查询func
- 前言本文主要给大家介绍了关于python图片添加半透明水印的相关资料,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧示例代码
- 给定一个文件夹,使用Python检查给定文件夹下有无文件重复,若存在重复则删除主要涉及的知识点有:os模块综合应用glob模块综合应用利用f
- 得益于 Python 的自动垃圾回收机制,在 Python 中创建对象时无须手动释放。这对开发者非常
- 1. 首先安装node,推荐偶数版本;好了之后检查一下: node -v;出现版本好即为安装成功;win10家庭版本的msi版本的时候出现无
- pycharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。接下来小编来和大家分享下PyC
- WinHttp; // Microsoft WinHTTP Services, version 5.1Alias HTTPREQUEST_P
- zipfile模块是python中一个处理压缩文件的模块,解决了不少我们平常需要处理压缩文件的需求 ,本文主要谈谈zipfile几个常用的用
- 一、前言在项目开发中,数据库应用必不可少。虽然数据库的种类有很多,如SQLite、MySQL、Oracle等,但是它们的功能基本是一样都是一
- # -*- coding: utf-8 -*-import sysimport MySQLdbreload(sys)sys.setdefau
- 本文实例讲述了Pytorch实现的手写数字mnist识别功能。分享给大家供大家参考,具体如下:import torchimport torc
- 1.简介介绍-网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息
- HTML5本地存储初探(二)完成了数据的本地存储,就要将文件存储也搞定。为了实现文件的本地存储,html5搞了一个叫 manifest 的文
- 下面步骤展示的是如何经过VirtualBox管理器,使得pycharm和ubuntu中的项目环境连接对应起来!如果你有属于自己的服务器,核心
- 问题问题1Python是一种动态语言,不支持类型检查。当需要对一个对象执行类型检查时,可能会采用下面的方式:class Foo(object
- 前言在很多网站中,基本上的都会有一个开头和一个结尾,在每一个网页中都会显示。相对于这种的来说,在Django中,最好的方法就是使用inclu
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 2 - Selectors如果你还没有准备好,请先
- WingIDE的使用好的工具可以让你做事时,事半功倍!这一点在写代码的过程中尤为明显,使用Pyhton写程序有一年多了!各类编辑器IDE也使
- 在前几篇博文中,我们分别采用颜色识别,模板匹配,像素遍历等方法实现了棋子和棋盘的定位,具体内容可以参见我的前面的文章内容,在这一篇中,我们来