当前位置: 欣欣网 > 码农

Python升级之路( Lv24) PyGame游戏开发基础(上)

2024-02-28码农

Python系列文章目录


第二十四章 Pygame游戏开发基础(上)


  • Python系列文章目录

  • 前言

  • 什么是Pygame

  • Pygame 安装

  • 命令行窗口下载

  • pycharm 环境下安装下载

  • Pygame 框架中的模块

  • 开发第一个 Pygame 程序


  • 前言

    大家好, 我是了不起, 欢迎收看我的冒险之旅

    今天我们将学习Pygame, 并利用其开发一个简单的Pygame程序.

    今日冒险片段上

    随着冒险不断地深入的, 众人已经到达了灾难的根源——使徒罗斯特. 它隐匿在第二脊椎, 用其强大的精神能力控制着岛上的信徒们. 使徒这个称呼是在gbk内流传的古籍中所记录的, 而了不起从奥菲利亚哪里了解到: 使徒并非只有一位, 并且这些使徒与这个世界的起源都有着千丝万缕的联系.
    众人遇到了罗斯特, 被供奉在神殿中, 大批信徒源源不断的为其提供水源. 如果某个人的生活的维持是以牺牲许多人的利益为代价. 那么, 它的存在就是不合理的. 于是众人开始向罗斯特发起攻击. 但令人震惊的是, 无论是精灵王的虚影, 还是了不起刚学习到的技能, 都难以击败他. 更何况这里还是在陆地, 如果让它回归海洋, 恐怕他将是最难缠的对手. 众人在苦苦支撑, 可是局面渐渐地像罗斯特那边倾斜...

    什么是Pygame

    Pygame 是一组用于编写游戏的 Python 模块. 它具有高度的可移植性,几乎可以在所有平台和操作系统上运行. Pygame 在优秀的 SDL 库之上添加了功能. 这使我们可以使用 python 语言创建功能齐全的游戏和多媒体程序. 官网入口

    Pygame 安装

    Pygame安装方式大致分为三种:

  • 在命令行利用 pip install 进行安装

  • 通过pycharm 来进行安装

  • 在python官网来下载对应模块

  • 下面主要介绍前两种

    命令行窗口下载

    1. Windows+R 输入 cmd, 在命令行中输入如下命令: pip install pygame 也可以通过pycharm 进入终端命令行. 然后输入相对应软件进行下载

    2. 安装时可以指定版本 pip install pygame ==版本号 但需要注意, 锁安装的模块版本要和自己当前安装的Python版本进行匹配, 否则可能会下载失败! 因此建议尽量不要指定版本.

    pycharm 环境下安装下载

    1. 进入 FIle->setting->project 项目名 -> Python Interpreter-> 输入对应的拓展模块然后下载即可 无需选择版本, 因为pycharm 会为你选择合适的匹配你python 的版本

    Pygame 框架中的模块

    在 Pygame 框架中有很多模块,其中最常用模块的具体 说明下表所示

    模块名 功能说明
    pygame.display 访问显示设备
    pygame.draw 绘制形状、线和点
    pygame.event 管理事件
    pygame.font 使用字体
    pygame.image 加载和存储图片
    pygame.key 读取键盘按键
    pygame.mixer 声音
    pygame.mouse 鼠标
    pygame.movie 播放视频
    pygame.music 播放音频
    pygame.overlay 访问高级视频叠加
    pygame.rect 管理矩形区域
    pygame.sndarray 操作声音数据
    pygame.sprite 操作移动图像
    pygame.surface 管理图像和屏幕

    开发第一个 Pygame 程序

    步骤 : 初始化-> 生成主屏幕 -> 设置标题 -> 刷新屏幕

    实操代码

    import pygame
    # 初始化
    pygame.init()
    # 生成主屏幕(「双缓冲」窗口)
    """
    set_mode 函数:会返回一个 Surface 对象,代表了在桌面上出现的那个窗口
    在 3 个参数中,第 1 个参数为元组,表示屏幕的大小; 
    第 2 个标志位,具体含义如表 1-2 所示,如果不用什么特性,就指定 0; 
    第 3 个为色深
    """

    pygame.display.set_mode((600500), pygame.DOUBLEBUF, 32)
    # 设置标题
    pygame.display.set_caption("开发第一个pygame程序")
    whileTrue:
    # 刷新屏幕
    pygame.display.update()

    注意:

  • set_mode 函数:会返回一个 Surface 对象,代表了在桌面上出现的那个窗口 在 3 个参数中,第 1 个参数为元组,表示屏幕的大小;第 2 个标志位,具体含义如表 1-2 所示, 如果不用什么特性,就指定 0;第 3 个为色深. 各标志位具体含义如下所示:

    标志位 含义
    FULLSCREEN 创建一个全屏窗口
    DOUBLEBUF 创建一个「双缓冲」窗口,建议和
    HWSURFACE 和 OPENGL 同时使用 NOFRAME 创建一个没有边框的窗口
    RESIZEBLE 创建一个可以改变大小的窗口
    OPENGL 创建一个 OPENGL 渲染的窗口
    HWSURFACE 创建一个硬件加速的窗口,必须和 FULLSCREEN 同时使用
  • 游戏的主循环是一个无限循环,直到用户退出。在这个主循环里面做的事情就是 第 5 页 不停的刷新新画面。

  • 效果展示

    今日冒险片段下

    就在千钧一发之际, GSC请来的援兵到了, 曾经斩击败过使徒希洛克的四大剑圣: 巴恩, 阿甘左, 西岚, 布万加. 以及教会的圣职者等人. 在这些人的加入下, 特别是四大剑圣, 凭借其之前和使徒战斗经验, 逐渐压制了罗斯特. 在圣骑士的强力支援下, 最终打败了罗斯特. 了不起也顺利晋升到了lv25.
    此时, 在另一个充满时空漩涡和时空乱流的空间内, 有两个人, 一个在脸上有着泪痕的精灵模样的女人站着, 一个拿着琵琶的且双目无神的女人半跪着. 只见站着的女人露出了阴森的微笑, 仿佛能够通过遥远空间看到第二脊椎所发生的事情一样. 然后他们二人同时消失, 只留下空间中回荡着的那句话: 命运的齿轮已经开始转动, 预言的未来已势不可挡...

    Sora最近老火了,Sora 的出现会对短视频、广告、游戏、影视行业等产业格局一定会被重塑,目前 Sora 还没正式开放注册,大家看到的使用体验大部分都来自官网,或者少部分的用户分享。

    为了避免更多读者受骗,我们直接给大家整了一个免费的。

    注意是下面【 Python都知道 】公众号,不是本公众号,点击下方的公众号卡片,然后回复【 sora ,即可获取最新 Sora 的最全资料。


    目前已经分享了,如何申请 Sora 的内测,以及最新关于 Sora 的技术特点,使用教程、变现机遇等等。

    大家如果想领取这份资料,可以点击下方的公众号卡片,然后回复 sora ,即可获取最新 Sora 的最全资料。

    需要提醒大家的是,Sora 目前还没有完全开放,任何市面上付费的一些课程,都请大家谨慎选择。

    可以确定的是:未来 10-20年,一定是 AI 的大风口、大时代,如果错过了公众号、错过了抖音、错过了小红书。

    请一定不要错过 AI +。

    面对浪潮,恐惧只会让我们伫立在原地,被巨浪吞噬。

    要去主动适应它,不被恐惧束缚,动起胳膊动起脚,才不会被淘汰。

    注意是下面【 Python都知道 】公众号,不是本公众号,点击下方的公众号卡片,然后回复 【 sora ,即可获取最新 Sora 的最全资料。