用Python和Pygame模块搭建游戏框架。

在本系列的第一篇文章中,我解释了如何使用Python创建一个简单的基于文本的骰子游戏。这一次,我将向您展示如何使用Python模块Pygame来创建一个图形游戏。要得到一个真正制作东西的游戏需要几篇文章,但是到本系列结束时,您将对如何找到和学习新的Python模块以及如何基于它们构建应用程序有更好的理解。

开始之前,你必须安装Pygame。

有几种方法可以安装Python模块,但最常用的两种方法是:

这两种方法都很有效,而且各有各的优点。如果您在Linux或BSD上开发,您可以使用您的发行版的软件库来自动和及时地更新它。

但是,使用Python内置的包管理器可以让您控制更新模块的时间。此外,它不是特定于操作系统的,这意味着即使您不在通常的开发机器上,也可以使用它。pip的另一个优点是,它允许在本地安装模块,如果您在正在使用的计算机上没有管理权限,这很有用。

如果你的系统上同时安装了Python和Python3,你要用的命令很可能是pip3,用来区分Python 2.x的pip命令,如果你不确定,先试试pip3。

Pip命令的工作有点像大多数Linux包管理器。您可以使用search来搜索Python模块,然后使用install来安装它们。如果您没有在正在使用的计算机上安装软件的管理权限,则可以使用- user选项仅将该模块安装到您的主目录中。

Pygame是一个Python模块,这意味着它只是一组可以在您的Python程序中使用的库。换句话说,它不是一个你可以像IDLE或Ninja-IDE那样启动的程序。

电子游戏需要一个背景:故事发生的地方。在Python中,有两种不同的方法来创建故事背景:

你的背景只是一张图片或者一种颜色。你的电子游戏角色不能和背景中的东西互动,所以不要把太重要的东西放在他们后面。只是布置装饰品而已。

要启动一个新的Pygame项目,首先在电脑上创建一个文件夹。游戏的所有文件都放在这个目录里。将运行游戏所需的所有文件保存在项目文件夹中是非常重要的。

Python脚本以文件类型、您的名称和您想要使用的许可开始。使用开源许可证,以便您的朋友可以改进您的游戏并与您分享他们的更改:

然后,你告诉Python你想用哪个模块。有些模块是常见的Python库。当然,您希望包含一个刚刚安装的Pygame模块。

因为您将使用这个脚本文件做大量的工作,所以将文件分成几个段落会很有帮助,这样您就知道将代码放在哪里了。您可以通过使用块注释来做到这一点,这些注释只有在您查看源代码时才可见。在代码中创建三个块。

接下来,设置游戏的窗口大小。注意,不是每个人都有大的电脑屏幕,所以最好使用适合大多数人的电脑屏幕尺寸。

这里有一个切换全屏模式的方法,很多现代的电子游戏都会这么做,但是既然你刚开始,为了简单起见就设置一个大小吧。

在脚本中使用Pygame引擎之前,你需要一些基本的设置。你必须设置帧速率,启动它的内部时钟,然后初始化init)Pygame。

现在你可以设置你的背景。

在继续之前,请打开一个图形应用程序,为您的游戏世界创建一个背景。保存为stage.png在图像文件夹中的项目目录。

这里有一些你可以使用的免费图形应用程序。

你的形象不需要很复杂,可以回头再改。一旦有了它,就将这段代码添加到文件的Setup部分:

如果你只用一种颜色填充游戏的背景,你需要做的就是:

您还必须定义要使用的颜色。在您的设置部分,使用红色、绿色和蓝色(RGB)的值来创建一些颜色定义。

此时,理论上你可以开始你的游戏了。问题是它可能只能持续一毫秒。

为了证明这一点,将您的文件保存为your-name_game.py(用您的真实姓名替换您的姓名)。然后开始你的游戏。

如果你使用空闲模式,从“运行”菜单中选择“运行模块”来运行你的游戏。

如果您使用的是Ninja,请单击左侧按钮栏中的“运行文件”按钮。

您也可以直接从Unix终端或Windows命令提示符运行Python脚本。

如果您使用的是Windows,请使用以下命令:

开始吧,但是不要期望太高,因为你的游戏现在只持续几毫秒。您可以在下一节中修复它。

除非另有说明,否则Python脚本只运行一次。最近电脑运行速度很快,所以你的Python脚本运行不到1秒。

要强制你的游戏开放和活跃足够长的时间让人们看到它(更不用说玩它),使用while循环。为了让你的游戏保持开放,你可以设置一个变量为一些值,然后告诉一个while循环,只要变量保持不变就保持循环。

这通常被称为“主循环”,您可以使用术语main作为您的变量。在设置部分的任意位置添加代码:

在主循环期间,使用Pygame关键字检查键盘上的键是否被按下或释放。将这段代码添加到主循环中:

同样在你的周期里,刷新你的世界背景。

如果您使用图片作为背景:

如果您使用一种颜色作为背景:

最后,告诉Pygame刷新屏幕上的一切,并提前游戏的内部时钟。

保存你的文件,再次运行它,看看你曾经创造的最无聊的游戏。

退出游戏,按下键盘上的Q键。

在本系列的下一篇文章中,我将向您展示如何强化您当前的空游戏世界,因此继续学习并创建一些要使用的图形!

via:/article/17/12/game-framework-python

作者:Seth Kenlon题目:lujun9972译者:robsean校对:wxy