Python游戏编程之初识Pygame(一) python教程游戏
off999 2024-12-16 15:23 29 浏览 0 评论
大家好,从今天开始,我们将学习Python中的Pygame库,使用这个软件库来创作我们的一个游戏作品。本教程是一个系列教程,由5节组成。对于初学者来说,通过Pygame游戏学习编程是一个不错的方法,学习编程的知识的同时,也可以不断激发你的编程兴趣。好了,言归正传,开始我们的游戏编程之旅吧!
首先,这个教程有个假设,就是你已经具备了Python编程的基础知识,如果你还是个编程小白的话,甚至于不知道Python如何安装,那么本教程可能不适合您。不过您可以观看我的原创系列视频《跟我学Python,创意编程之旅》,这里有一些基础知识的讲解。
言归正传,你需要先在电脑上安装好Pygame类库,如果您还没有安装,可以参考Pygame的官方参考(https://www.pygame.org/),不用担心,安装方法非常简单。
第1步:导入和初始化Pygame类库
代码的第一行,你需要首先导入Pygame类库及其他需要使用的类库,并对其做初始化,这只需要几行代码:
import pygame
import sys
pygame.init()第2步:定义将在游戏中使用的颜色
在游戏开发中,你经常需要使用各种各样的颜色,提前将要用的颜色定义为常量是个不错的主意,这样可以有效减少重复的代码,并降低代码维护的成本。如下:
第3步:运行一个新窗口
你的游戏将在一个新窗口中运行,因此,你可以定义这个窗口的标题、宽度以及高度等属性。如下:
第4步:主程序循环-游戏的关键部分
主程序循环将包含3个主要部分:
- 捕获事件:用来不断地“监听”用户的输入,并进行逻辑处理。监听的范围包含你所使用的键盘和鼠标的所有操作。
- 实现游戏逻辑。在游戏运行时会发生什么?小车会往前走,外星人会从空中落下等等,这些都是游戏的核心逻辑。
- 在每一帧中更新视图数据,并刷新屏幕,以便让游戏动起来。
主程序循环也将使用帧速率来控制程序应该以多块的速度完成循环,即每秒刷新屏幕多少次。要实现这一点,我们将使用Pygame的时钟(Clock)对象。如下:
clock = pygame.time.Clock()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
screen.fill(WHITE)
pygame.draw.rect(screen, RED, [55, 200, 100, 70],0)
pygame.draw.line(screen, GREEN, [0, 0], [100, 100], 5)
pygame.draw.ellipse(screen, BLACK, [20,20,250,100], 2)
pygame.display.update()
clock.tick(60)第5步:完整代码
如下是本节课程的完整代码,现在你可以打开你最爱的编程工具,开始动起来吧!
import pygame
import sys
pygame.init()
size = (700, 500)
screen = pygame.display.set_mode(size)
pygame.display.set_caption("我的第一个游戏")
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
clock = pygame.time.Clock()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
screen.fill(WHITE)
pygame.draw.rect(screen, RED, [55, 200, 100, 70],0)
pygame.draw.line(screen, GREEN, [0, 0], [100, 100], 5)
pygame.draw.ellipse(screen, BLACK, [20,20,250,100], 2)
pygame.display.update()
clock.tick(60)如下为程序运行效果:
留给你的挑战
使用你在本节课程中所学习的Pygame知识,来完成如下背景的绘制吧!
如果你喜欢我的文章,欢迎您关注我的头条号:@科技时代聊编程,也欢迎观看我的《跟我学Python,创意编程之旅》的系列原创编程视频,每天都有精彩视频等你喔!
相关推荐
- windows系统下载手机(win10下载手机)
-
OPPO手机重新下载安装系统:先备份好重要数据!然后手机连接电脑把下载的固件存入手机。然后再长按电源键十秒钟进入关机状态(可拆卸电板的需取下电板然后重新安装)。再同时按住电源键跟音量减键,进入reco...
- 电脑系统分区怎么分(电脑系统分区怎么分区)
-
分区是将硬盘分割成不同的逻辑部分,每个分区可以被视为一个独立的存储设备。通过分区,可以更好地管理数据和操作系统。要进行电脑分区,可以按照以下步骤进行:1.确定分区方案:首先需要确定分区的目的和需求。...
- 电脑显卡怎么选择(电脑显卡怎样选择)
-
以下是一些通用的方法:1.在硬件层面进行配置:首先需要确认您的主板和操作系统是否支持多GPU并行,以及您的电源是否提供足够的功率支持。在BIOS中启用多GPU选项,并安装正确的驱动程序。然后,通...
- 设置软件下载(设置软件下载入口)
-
iphone13app的下载设置1、首先,打开手机桌面的【设置】。2、在设置界面,点击【面容ID与密码】。3、这时设置了键盘锁的会要求你输入键盘锁密码进入。4、进入之后,找到【iTunesStore...
- 电脑麦克风插孔是哪个(电脑麦克风插那)
-
1.蓝色的为音频输入口。一般的电脑后面都有三个音频接口:蓝色是音频输入,绿色是音频输出,粉红色麦克风。 2.音频输入(蓝色),为外接光驱.随身听及其它音频输入设备,即可以把外部的设备声音传送至电脑...
- ie浏览器打不开网页怎么修复
-
第一步:打开“运行”输入—〉cmd—〉回车然后把下面这行字符复制到黑色cmd框里面去回车等待dll文件全部注册完成就关闭可以了(下面是要运行的代码):for%1in(%windir%\syste...
- mail163邮箱登录入口网页版(mail163手机邮箱登录)
-
1.首先你要开启网易的POP3/SMTP/IMAP。2.设置完之后你需要网易的客户端授权密码。3.密码会发送至你的绑定手机。4.用发给你的客户端授权密码登录第三方客户端(ios客户端)5.直接登陆,储...
- win7系统序列号怎么查(win7电脑的序列号怎么查)
-
你可以在cmd命令行窗口中输入以下相关命令,可以得到你要的信息查找主板厂商输入:wmicBaseBoardgetManufacturer查找主板型号输入:wmicBaseBoardgetP...
- 台式电脑怎么看配置好坏(台式机怎么看配置参数哪里看好坏)
-
如何分辨电脑配置好坏第一看CPU,CPU从上到下可分为i7,i5,i3等,数字越高越好。第二看显卡和内存,显卡内存现在至少4G或者8G起步,越高越好,第三看硬盘是否是固态,固态要比机械的运行速度快...
- 下载软件安装不了(为什么下载软件安装不了)
-
一:检查手机内存是否充足,如果内存太小,需要更换大容量的SD卡。 二:检查手机是否设置允许安装除手机自带应用商店以外的应用。 方法一:需要从手机自带应用商店下载。 ①点击手机桌面上的应用...
- 现在建议更新win11吗(应该升级win11吗)
-
鲁大师更新11靠谱的,他只是给你提供一个方便的升级渠道而已。升级以后能否正常使用,还要看你原来的系统是否是正版。如果原来的系统是正版,升级完成后,可以正常使用。如果原来的系统是盗版,也是可以升级的,只...
- windows7旗舰版好用吗(win7旗舰版好用么)
-
win7旗舰版挺好使的不过现在可以选择更win10。Windows7旗舰版属于微软公司开发的Windows7操作系统系统系列中的功能最高级的版本,也被叫做终结版本,是为了取代WindowsXP...
- 2025年最好用的手机浏览器(2021最好的手机浏览器)
-
可以使用uc浏览器或者是QQ浏览器,最新版本都是带有Flash插件的,火狐浏览器手机版也是一开始拥有Flash插件。以下是详细介绍: 1、uc浏览器是阿里旗下的浏览器,只需要下载最新版,然后进去就可...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
