Pygame开发游戏实用指南—Pygame简介

在本文中,我们将学习如何下载和安装游戏开发库 pygame,并且我们将运行一个简单的示例项目来熟悉 pygame。

项目代码下载链接:https://github.com/la-vie-est-belle/pygame_codes

安装 pygame

在 windows 上安装 pygame
打开命令行窗口并键入命令 pip install pygame,然后按 enter。如果最后看到成功安装pygame的信息,就说明pygame已经成功安装了。
Pygame开发游戏实用指南---Pygame简介

注意:本教程使用的pygame版本是2.6.0.

当然,我们还需要验证pygame是否正常工作。打开命令行窗口,输入python,按回车键,进入python命令行界面。然后输入 import pygame.如果出现pygame欢迎信息,则表示安装成功,pygame可以正常使用。
Pygame开发游戏实用指南---Pygame简介

macos 上安装 pygame
同样,打开终端,输入 pip3 install pygame,然后按 enter 键安装 pygame。验证方法同上,这里不再赘述。

运行 pygame 示例项目

打开命令行窗口,运行命令 python -m pygame.examples.aliens 即可启动 pygame 自带的内置外星人游戏。控制方式如下:

方向键移动玩家空格键射击Pygame开发游戏实用指南---Pygame简介

Pygame开发游戏实用指南---Pygame简介

在接下来的实践文章中,我们将一起开发并实现这款外星人游戏。现在,让我们看一下这个简单的 pygame 示例代码 1-1.

import sysimport pygamepygame.init()                                       # 1screen = pygame.display.set_mode((1100, 600))       # 2pygame.display.set_caption('dino runner')           # 3icon = pygame.image.load('icon.png')                # 4pygame.display.set_icon(icon)dino = pygame.image.load('dino_start.png')          # 5dino_rect = dino.get_rect()dino_rect.topleft = (80, 300)while true:                                         # 6    for event in pygame.event.get():                # 7        if event.type == pygame.quit:            pygame.quit()            sys.exit()    screen.fill((255, 255, 255))                    # 8    screen.blit(dino, dino_rect)                    # 9    pygame.display.flip()                           # 10

结果如下:
Pygame开发游戏实用指南---Pygame简介

代码说明:
#1 pygame.init() 初始化 pygame 库中的所有模块。在使用任何 pygame 函数或类之前必须包含此行。

#2 调用 pygame.display.set_mode() 函数设置游戏窗口的大小(大小以元组形式传递)。该函数返回一个窗口对象,该对象存储在变量 screen 中。该对象允许您在窗口中绘制图形、添加图像和文本。 pygame.display模块专门用于窗口管理和屏幕显示。

#3 使用 pygame.display.set_caption() 函数设置窗口标题。

#4 使用 pygame.image.load() 函数加载图像,在本例中为窗口图标。该函数返回一个图像对象,该对象存储在 icon 变量中。接下来,使用 pygame.display.set_icon() 函数设置窗口图标。

#5 加载主角图片,并调用 get_rect() 获取角色图片的矩形区域(一个 rect 对象),并将该矩形的左上角 topleft 设置为屏幕位置。

注意:屏幕坐标原点在左上角,x轴向右延伸,y轴向下延伸。 pygame中的坐标系将在后面的章节中详细讲解。

#6 进入游戏循环,pygame 将不断检测和处理用户输入、更新游戏状态或更新屏幕内容。

#7 使用 pygame.event.get() 获取事件队列。在 for 循环中,我们读取并处理每个事件。如果事件类型 event.type 为 pygame.quit (即关闭窗口),则调用 pygame.quit() 退出游戏。 sys.exit() 终止当前python程序,清理并退出运行pygame程序的线程。

#8 调用窗口对象screen的fill()函数,给窗口填充一种颜色。您传递一个表示颜色 rgb 值的元组,在本例中为白色。

#9 调用窗口对象screen的blit()函数,将字符图像显示在屏幕上,位置由之前设置的矩形dino_rect定义。还可以向 blit() 传递一个坐标元组 (x, y) 来设置角色在屏幕上的位置,如:

screen.blit(dino, (80, 300))

#10 调用 pygame.display.flip() 函数刷新屏幕内容。您还可以使用 pygame.display.update() 来达到相同的效果。后者还可以接受矩形区域来仅更新屏幕的该部分。例如,以下行将仅更新左上角位于 (0, 0) 且宽度和高度为 350 像素的矩形。

pygame.display.update((0, 0, 350, 350))

Pygame开发游戏实用指南---Pygame简介

概括

在本文中,我们学习了如何在 windows 和 macos 上安装 pygame,并探索了一个简单的示例代码来了解 pygame 的基本结构、运行原理以及一些常用功能。如果还有不完全理解的部分,可以暂时先不说。后面的章节可能有助于阐明这些概念。

如果您喜欢本教程,请给作者喝杯咖啡。 :)

Pygame开发游戏实用指南---Pygame简介

Pygame开发游戏实用指南---Pygame简介

Pygame开发游戏实用指南---Pygame简介

以上就是Pygame开发游戏实用指南—Pygame简介的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1348848.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 12:23:35
下一篇 2025年12月13日 12:23:44

相关推荐

  • 为什么 Python 开发人员失业?服务技巧

    科技世界是动态的,工作保障不再是理所当然的,即使对于像 Python 开发这样的急需技能来说也是如此。虽然 Python 仍然是一种流行的语言,但最近的经济衰退和行业转变引发了人们对 Python 开发人员工作稳定性的担忧。让我们找出这些挑战背后的原因,并探索让您的职业生涯面向未来的策略。 Pyth…

    好文分享 2025年12月13日
    000
  • 使用 Scrapy 和 Playwright 无限滚动抓取页面

    使用 scrapy 抓取网站时,您很快就会遇到各种需要发挥创意或与要抓取的页面进行交互的场景。其中一种场景是当您需要抓取无限滚动页面时。当您向下滚动页面时,这种类型的网站页面会加载更多内容,就像社交媒体源一样。 抓取这些类型的页面的方法肯定不止一种。我最近解决这个问题的一种方法是继续滚动,直到页面长…

    2025年12月13日
    000
  • 测试自动化

    初始设置 下载PythonPython 是一种编程语言。可以从https://www.python.org/downloads/下载。 1.1 激活虚拟环境在您选择类型的目录中python -m venv venv并激活它venv/Scrpts/Activate.ps1 下载机器人框架在终端中输入 …

    2025年12月13日
    000
  • 我的 HNG 之旅第六阶段:利用 Python 公开 DORA 指标

    介绍 对于第 6 阶段,我们的任务是公开 dora(devops 研究),我最近开始了一个使用 python 公开 dora(devops 研究和评估)指标的项目。这次经历教会了我关于 devops 实践以及与合作的复杂性的宝贵经验。在本文中,我将引导您完成整个过程,解释每个指标的含义,并强调一些需…

    2025年12月13日
    000
  • Udemy 上的最佳 Python 课程

    Udemy 上的最佳 Python 课程 Python 是当今世界上最流行的编程语言之一,学习 Python 可以打开各种职业机会的大门。无论您对 Web 开发、数据科学、人工智能还是自动化感兴趣,掌握 Python 都是必不可少的。 Udemy 提供大量 Python 课程,适合从初学者到高级程序…

    2025年12月13日
    000
  • 了解您的数据:探索性数据分析的要点

    探索性数据分析是一种流行的分析数据集并直观地呈现您的发现的方法。它有助于提供对数据集和结构的最大程度的洞察。这将探索性数据分析视为一种理解数据各个方面的技术。为了更好地理解数据,必须确保数据干净、没有冗余、没有缺失值,甚至没有 null 值。 探索性数据分析的类型 主要分为三种:单变量:这是您在任意…

    2025年12月13日 好文分享
    000
  • 简介:Python 游戏第 1 周

    第 1 周:python 和游戏开发基础知识简介 第 1 课:python 基础知识和 pygame 设置 主题:python 语法和基本编程概念(变量、数据类型、循环、函数)。安装和设置 pygame。游戏循环和基本游戏机制介绍。迷你项目:简单绘图应用程序:创建一个允许用户用鼠标在屏幕上绘图的基本…

    2025年12月13日
    000
  • 估计编码任务:可能会出现什么问题?

    以下是“向现有 dataframe 添加哈希值”的任务如何从花费几天时间到消耗几乎整个冲刺的过程。 2022 年第二季度,我开始开发一个数据管道,该管道从 rest 服务获取市场数据并将其存储在 bigquery 表中。这是管道的高级解释。有趣的部分是如何查询数据,将其转换为 dataframe,然…

    2025年12月13日
    000
  • 推荐课程:Pandas 快速入门

    您是否想深入数据分析世界并熟练掌握最强大的数据操作工具之一 pandas?别再犹豫了! labex 提供的 pandas 快速入门课程对于任何有兴趣掌握使用 python 进行数据分析的人来说是一个很好的起点。 释放熊猫的力量 Pandas 是数据科学领域广泛使用的开源库,提供了一套强大的数据操作、…

    2025年12月13日
    000
  • Python 封装现在很棒:“uv”就是您所需要的

    这篇文章的标题是对 glyph 的 python packaging is good now 的引用。我认为可以肯定地说,在这8年里,我们已经从“好”变成了“伟大”。继续阅读我的推理。 是什么让 python 打包对于初学者来说变得困难? 我认为python打包的两个主要困难是 引导,即如何开始!激…

    2025年12月13日
    000
  • 使用 AWS 学习 Python – 第 1 天

    在我的上一篇文章中,我提到了一个与 python 相关的 aws 研讨会,即在 aws 研讨会上学习 python。 想要创建一系列帖子,展示所有实验室实践和针对初学者的 python 教程。 第 1 步 – 登录您的 aws 控制台并确保您有 cloud9 ide 设置环境时请按照 c…

    2025年12月13日 好文分享
    000
  • 使用 Lyzr SDK 构建个性化自由助理

    自由职业提供了一个充满机遇和灵活性的世界,但它也带来了一系列挑战。 个性化自由职业助手应用程序旨在提供量身定制的技巧和策略,帮助自由职业者在职业生涯中取得成功。利用 lyzr automata sdk 和 openai 的 gpt-4 turbo,该应用程序根据用户输入创建定制计划。 设置环境 首先…

    2025年12月13日
    000
  • 使用 Lyzr SDK 构建待办事项列表生成器

    有效地组织您的任务可以显着提高生产力并减轻压力。为了帮助用户实现这一目标,我使用 lyzr automata sdk 和 openai 的 gpt-4 turbo 创建了一个待办事项列表生成器 应用程序。该应用程序会根据您的项目名称、子任务和任何其他注释来生成清晰且可操作的待办事项列表。这是构建这个…

    2025年12月13日
    000
  • Python 中的 Lambda 函数解释清楚!

    在这篇文章中,我们将探索 python 中的 lambda 函数: lambda 函数到底是什么?为什么我们需要 Lambda 函数?何时使用 Lambda 函数?最佳实践示例 lambda 函数到底是什么? 在 Python 中,lambda 函数是一种小型匿名函数,可以接受任意数量的参数,但只能…

    2025年12月13日 好文分享
    000
  • 在软件开发生命周期中释放非技术超能力

    当我们想到成为一名优秀的软件开发人员、数据科学家或 QA 工程师的技能时,我们的思绪通常会立即跳到技术专业知识:编码语言、调试技能、人工智能或最新的技术堆栈。但让我们花点时间来了解一下非技术技能,这些技能对于塑造成功的职业生涯也同样有效。这些经常被忽视的属性可能是在软件开发生命周期 (SDLC) 中…

    2025年12月13日
    000
  • 使用 Python 的 NSE 期权链数据 – 第二部分 |沙阿·斯塔万

    在上一篇文章中,我们讨论了如何使用 python 获取 nifty 和 bank nifty 数据。那篇文章的反响很好,因此根据大众的需求,这里有一个扩展版本。在本文中,我们将学习如何每 30 秒从 nse 网站获取期权链数据。此内容仅用于学习目的。 在 python 中,我们将使用 asyncio…

    2025年12月13日
    000
  • 如何使用 Python 抓取 Google 新闻:分步指南

    网络抓取已成为开发人员的一项基本技能,使他们能够从各种在线资源中提取有价值的数据。最受欢迎的抓取目标之一是 google 新闻,它是世界各地最新新闻文章的丰富存储库。本指南旨在提供详细的分步方法来抓取 google 新闻,重点针对中高级开发人员。我们将涵盖从基础知识到高级技术的所有内容,确保您拥有有…

    2025年12月13日
    000
  • 使用 Lyzr SDK 构建个性化礼品助手

    找到完美的礼物可能具有挑战性,尤其是在考虑收件人的独特兴趣、场合和预算时。 个性化礼品助手应用程序可以让这个过程变得更轻松、更愉快。利用 lyzr automata 和 openai 的 gpt-4 turbo 的强大功能,此应用程序可帮助您策划个性化的礼物推荐,一定会让任何收件人感到高兴。 设置环…

    2025年12月13日
    000
  • 使用 Python 抓取 Google 财经的终极指南

    网络抓取已成为开发人员的一项基本技能,尤其是在提取有价值的财务数据时。谷歌财经是此类数据的热门来源,但抓取这些数据可能具有挑战性。本指南将引导您完成使用 python 抓取 google finance 的过程,涵盖基本和高级技术。无论您是初学者还是中高级开发人员,本文旨在通过实际示例和解决方案满足…

    2025年12月13日
    000
  • 我的创建事件管理 CLI 应用程序的旅程

    我的创建事件管理 cli 应用程序的旅程 介绍 作为软件开发的初学者,最令人兴奋和艰巨的任务之一就是创建您的第一个重要项目。对我来说,这是事件管理 cli 应用程序。这个项目不仅帮助我巩固了对 python 的理解,还向我介绍了 sqlalchemy orm、click 等 cli 库以及软件开发的…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信