python游戏编程培训

2023-11-14

准备好了吗?我们即将开始激动人心的游戏编程之旅。

或许你之前学习过一点编程,但若是你从没接触过游戏编程,那么你仍然会对游戏程序的运行感到不解。游戏程序不像计算一个公式或谜题,得到答案之后程序就结束了,游戏程序一直是处于运行中的,只要你不主动退出,那么你可以永远呆在游戏之中。这就游戏循环的神奇魔力。

下面我们尝试用最少的代码来编写一个小游戏。

准备工作

01选择合适的开发工具

“工欲善其事必先利其器”,编写游戏之前得挑选一款合适的工具,这样可以大大地简化程序编写工作。Python语言有很多第三方库都提供游戏编程功能,最有名的要属Pygame库,它提供了丰富的API来实现游戏的各种效果。但是对于初学者来说Pygame库还是显得有些复杂,我们希望采用更加简洁高效的工具,使得可以把注意力集中在游戏算法的实现上,而不需花费太多精力去学习游戏开发库的使用。

这里采用Pgzero库来编写游戏。Pgzero的完整名称是Pygame Zero,不难看出它是从Pygame库衍生而来的。可以说Pgzero就是Pygame的一个精简版本,能够实现Pygame库的主要功能,但是屏蔽了一些复杂的细节,使得初学者能够快速上手。

02 设置开发环境

由于Pgzero是Python的第三方库,它不能独立工作,必须在Python代码中来使用,因此我们首先需要安装Python开发环境。可以去Python官网下载最新的安装包进行安装,然后便可以使用Python提供的IDLE编辑器来编写代码了。

且慢,你是否觉得使用IDLE编辑器来编写程序不是那么方便呢?对于简单的小程序当然无所谓了,但是游戏程序相对来说还是比较复杂的,而且游戏中需要调用一些图片或声音资源,我们还要对所有的游戏资源进行统一管理。因此我们还得寻找一个更加灵活方便的游戏编写工具,在这里我采用的是Mu编辑器。Mu是一个专门为Python学习者设计的一个开发工具,它的编辑器非常友好,提供了很多的便捷操作,比如代码自动提示、代码缩进标示、语法检查等等功能。更重要的是,它已经集成了Pgzero库,而且还提供对游戏资源的管理,这正是我们所需要的不是吗?Mu编辑器可以在官网(https://codewith.mu/)下载安装,现在我们直接运行Mu试一下。在初次打开Mu的时候会提示选择运行模式,如图1所示。

▍图1 Mu编辑器的模式选择界面

我们单击鼠标来选择“Pygame Zero模式”,接下来Mu便会切换到Pgzero模式,看到的运行界面如图2所示。

▍图2 “Pygame Zero”运行模式

Mu编辑器中的空白区域便是我们将要编写代码的地方,当程序写好之后,我们单击界面上方的“开始”按钮便可以运行程序了。看起来真是太棒了,还等什么呢?赶快开工吧!

从何处开始

接下来开始编写游戏。可是,游戏程序究竟什么样呢?或许你会在屏幕输出“Hello World”,或者你知道如何编程计算斐波拉契数列的值,但是你真的确定游戏程序应该如何编写么?

首先,游戏运行得有一个图形界面(当然,早期的计算机游戏可能是文本界面的,但那已经是很古老的事了,现在我们探讨的都是基于图形界面的游戏)。为了显示图形界面,我们的程序应该能够生成一个“窗口”,在其中可以显示各种图形或图像,而游戏的内容正是由各种不同的图形或图像来表示的。

我们试着来创建一个程序窗口。

01 创建程序窗口

在Mu编辑器上方的工具栏中单击“新建”按钮,可以看到编辑器中出现了一块空白区域,这便是新创建的Python源程序文件。

然后,单击“运行”按钮试试,你会看到屏幕上出现了一个窗口,如图3所示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python游戏编程培训 的相关文章

随机推荐

  • nginx关于add_header的坑

    一 add header指令不会去重 nginx做反向代理时 如果后端返回的response中已经有该header头 则通过add header后会返回给客户端两个同样的header头 场景1 nginxA作为反向代理 nginxB作为we
  • 如何利用运营商大数据准确获取客户?

    在今天运营商的大数据准确捕捉客户的时代 我们似乎看到客户在我们面前若隐若现 但当我们伸手去抓他们时 我们发现他们很少 原因是什么 我们的客户之所以成为美丽的海市蜃楼 主要原因 还在于对客户的把握不够精准 什么是大数据准确性 大数据精准获客是
  • 【论文阅读】基于深度学习的时序异常检测——TimesNet

    系列文章链接 参考数据集讲解 数据基础 多维时序数据集简介 论文一 2022 Anomaly Transformer 异常分数预测 论文二 2022 TransAD 异常分数预测 论文三 2023 TimesNet 基于卷积的多任务模型 论
  • 线性相关与线性无关的定义与性质

    定义1 线性相关 K n K n K nK n Kn Kn 中向量组
  • Caffe训练过程:test_iter test_interval等概念

    转自 http blog csdn net iamzhangzhuping article details 49993899 先上一张图 大家很熟悉的一张图 首先说明一个概念 在caffe中的一次迭代iteration指的是一个batch
  • Webrtc从理论到实践六: Webrtc官方demo运行

    系列文章目录 Webrtc从理论到实践一 初识 Webrtc从理论到实践二 架构 Webrtc从理论到实践三 角色 Webrtc从理论到实践四 通信 Webrtc从理论到实践五 编译webrtc源码 文章目录 系列文章目录 操作步骤 总结
  • 语义分割模型

    1 FCN 1 通道数 21 的特征层 21 数据集类数20 背景1 每一个像素有21个通道 对21个通道进行softmax回归 之后就可以获得每一个像素的每一个类别的预测概率 因为可以确认像素概率最大的那一类 2 CNN中的最后通过全连接
  • Blender 骨骼子父级关系链接

    一 骨骼子父集关系链接 操作顺序 1 选中物体 2 选中骨骼 3 Ctrl P根据个人需求选择 多数情况会选择自动权重 如果选择顺序不同 Ctrl P出现的界面就不会显示权重选择 二 骨骼被物件遮挡 选中骨骼 在下图中的界面里 勾选在前面即
  • 【51单片机】:定时器的详解(包括对单片机定时解释、各类定时方式,以及中断方式)

    学习目标 51定时 计数器的详解 码字不易 如有帮助请收藏 点赞哦 学习内容 背景知识 了解一下对以后学习有帮助 前提 首先我们知道51单片机内部有21 26个特殊功能寄存器 P x口寄存器 P0 P1 P2 P3 数据指针寄存器 DP0H
  • STM32 GPIO 详解

    0 实验平台 基于STM32F407ZG 1 GPIO 简介 1 1 简介 GPIO全称 General Purpose Input Output 即通用输入输出端口 一般用来采集外部器件的信息或者控制外部器件工作 即输入输出 1 2 ST
  • 前端系列——jquery.i18n.properties前端国际化解决方案“填坑日记”

    前言 最近 新的平台还没有开发完成 原来的老项目又提出了新的需求 系统国际化 如果是前后端完全分离的开发模式 要做国际化 真的太简单了 有现成的解决方案 基于Node构建的时下热门的任何一种技术选型都有成熟的方案 比如 vue vue i1
  • delphi 通过TNetHTTPClient解析抖音无水印高清视频原理及解决X-Bogus签名验证2023-5-1

    一 杂谈 最近有很多热心网友反馈抖音去水印又不行了 之前是时不时被blocked 现在直接连内容都没有了 返回直接就是空了 我们今天简要给大家分析一下请求过程 附上delphi 源码 及生成签名验证 成功请求到json数据的解决方法 二 请
  • 损失函数:IoU、GIoU、DIoU、CIoU、EIoU、alpha IoU、SIoU、WIoU超详细精讲及Pytorch实现

    前言 损失函数是用来评价模型的预测值和真实值不一样的程度 损失函数越小 通常模型的性能越好 不同的模型用的损失函数一般也不一样 损失函数的使用主要是在模型的训练阶段 如果我们想让预测值无限接近于真实值 就需要将损失值降到最低 在这个过程中就
  • 苹果官网序列号查询

    苹果官网 https checkcoverage apple com cn zh locale zh CN 官换机要怎么鉴别是正品新机 https www zhihu com question 44779845
  • 基于C++的OpenCV项目实战——零部件的自动光学检测

    基于C 的OpenCV项目实战 零部件的自动光学检测 一 背景 首先任务背景是AOI 自动光学检测 最重要的目的在于 将前景和物体进行分割与分类 场景示意图 需要注意 在螺母的传送带上 需要有前光和背光 给物体打光才能够拍摄清晰的图像 二
  • LeetCode4. 寻找两个正序数组的中位数

    题意 给定长度为 n n n的数组 A A A和长度为 m m m的数组
  • 小P学区块链(一):区块链到底是什么?该如何去学习

    2018年3月25日 CSDN 副总裁孟岩老师在北京联合大学商务学院举办了一场关于区块链及智能合约相关的公开课 在课程的三个小时里 受益匪浅 我会对课程的理解和对区块链及智能合约的概念做一个总结 同样我也会继续学习这方面的知识 将定期更新相
  • sonarqube主要功能概览

    sonarqube质量标准 sonarqube通过可靠性 安全性 安全复审 可维护性 覆盖率 重复度等方面来评价代码质量 分别使用bugs 漏洞等指标 如图 有项目状态为正常 有项目状态为错误 点进项目可以看具体 可以对问题进行分配 处理
  • 【剑指Offer】(字符串)左旋转字符串(翻转操作)

    题目链接 https www nowcoder com practice 12d959b108cb42b1ab72cef4d36af5ec tpId 13 tqId 11196 tPage 1 rp 1 ru ta coding inter
  • python游戏编程培训

    准备好了吗 我们即将开始激动人心的游戏编程之旅 或许你之前学习过一点编程 但若是你从没接触过游戏编程 那么你仍然会对游戏程序的运行感到不解 游戏程序不像计算一个公式或谜题 得到答案之后程序就结束了 游戏程序一直是处于运行中的 只要你不主动退