Python游戏编程之初识Pygame(一) python教程游戏
off999 2024-12-16 15:23 28 浏览 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,创意编程之旅》的系列原创编程视频,每天都有精彩视频等你喔!
相关推荐
- 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浏览器是阿里旗下的浏览器,只需要下载最新版,然后进去就可...
- 纯净版win11在哪下载(在哪下win10纯净版)
-
Win11纯净版中,有一些常用的应用软件,包括但不限于以下几款:MicrosoftEdge:微软推出的新一代浏览器,支持多种设备,具备更快的加载速度和丰富的扩展功能。MicrosoftOffice...
- win7自带激活工具在哪个位置
-
恩,其实这些就是激活系统的工具,朋友可以通过计算机属性看看你的系统是不是激活了。如果没有的话,建议你使用OEM7F7那个,使用方法是右键,以管理员身份运行,然后点击开始体验正版,等下,重新启动系统...
- 无法激活因为无法连接到组织
-
解决方法: 首先我们右键点击“开始菜单”,选择“WindowsPowerShell(管理员)”。 在windowsPowershell窗口中逐一输入如下三行命令,并回车键执行命令。 slmgr...
- 一个2tb的u盘多少钱(2tb优盘)
-
假的就算你买回来插到电脑上显示是2TB也没用,你复制东西到U盘里就会显示U盘已满不能复制,就算复制进去了也会有一部分不能使用。或者你买回来用360的U盘鉴定软件鉴定一下就知道真假了。还有就是你看看...
- 软件商店下载官方网站(软件商店正版软件下载)
-
软件商店安装的方法步骤如下:1.第一步,需要注册一个微软账户,然后点击桌面左下角的开始图标,然后在开始菜单中找到微软商店图标,点击进入。2.第二步,点击进入应用商店主页。3.第三步,在商店中搜索...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,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)
