如何在Python中制作游戏

Python是众所周知的最初级友好且灵活的编程语言之一。但是,虽然Python具有奇妙的船上体验,但甚至是最不经验的新程序员,它实际上是更多的还有些让人困惑的地方。Python是如此的灵活,以至于不能马上看出您可以用它做什么。

例如,您可以阅读大量教程,仍然不了解如何在Python中制作游戏,或者如何构建Web应用程序。在这篇文章中,我们将讨论如何使用Pygame在Python中制作一个非常简单的游戏,这是旨在促进简单的游戏创建的流行的选择。

什么是pygame?

对于新开发人员来说,可以棘手的东西是在真空中节目的编程语言很少存在。什么时候制作Android应bob体育提现用程序例如,您不仅要使用java.kotlin.(谷歌支持的两种主要编程语言)bob体育提现Android SDK。这是“软件开发套件”,它包含了一系列不同的库,类和工具,使Java代码在Android上工作,并为其访问移动平台的功能。bob体育提现

Python也是如此。学习Python在大多数情况下还不足以开始构建东西:你需要其他开发人员提供的额外代码才能让这些程序工作。在Python中,这些外部工具通常采用“模块”的形式。这些是小型Python程序,它们执行有用的功能,可以支持您的生产。

pygame的标志

Pygame是一个这样的模块集合。随着姓名建议,Pygame提供了很多对游戏开发有用的功能。这意味着像在屏幕上绘制图形等的东西,并播放声音。通过提供这样的现成功能,Pygame可以保存开发人员大量的工作并简化该过程。因此,当您询问如何在Python中进行游戏时,大多数人会告诉您使用Pygame!

也就是说,那些曾经更全面的游戏引擎和ides喜欢的人团结可能会发现Pygame有些骨架。你不会在这里找到内置的物理或华丽的拖放界面!虽然这可能会增加你作为开发者的工作量,但它也解放了你的想象力,让你能够完全从零开始开发游戏项目。

(老实说,这是件好事!)

Pygame是由Pete Shiners编写的,并于2000年发布。它是一个社区项目以来,目前在开源免费软件GNU较少的公共许可证下发布。

如何在Python中制作游戏 - 一个简单的第一个项目

在本教程中,我将稍微改变一下我的方法。我并不是一步一步地向你介绍游戏,而是给你代码,然后我们将分解它是如何运作的。

首先,确保你读过了我们对Python代码的基本介绍。这将使您熟悉基础知识,以便您将能够遵循。

您还需要一个Python IDE或代码编辑器,如PyCharm或甚至Visual Studio。

也可以看看:如何在Windows,Mac或Linux上安装Python并开始编码

接下来,您将粘贴以下代码。这是我之前做的一个:

导入pygame pygame.init()win = pygame.display.set_mode((1280,720))pygame.display.set_caption(“方形”)x = 100 y = 100 baddyx = 300 baddyy = 300 vel = 6 baddyvel = 4 run = truedef draw_game():win.fill((0,0,0))pygame.draw.rect(win,(0,0,255),(x,y,20,20))pygame.draw.rect(获胜,(255,0,0),(baddyx,backyy,40,40))pygame.display.update()而运行:pygame.time.delay (100)if baddyX < x - 10: baddyX = baddyX + baddyVel elif baddyX < y - 10: baddyX = baddyX + baddyVel elif baddyY < y - 10: baddyX = baddyX + baddyVel elif baddyY < y - 10: baddyX = baddyX + baddyVel elif baddyY < y - 10: baddyX = baddyX + baddyVel else: run = False对于pygame.event.get()中的事件:= = pygame类型。如果keys[pygame. key.get_pressed()] = False keys = pygame.key.get_pressed()K_LEFT: x -= vel if keys[pygame.]K_RIGHT: x += vel if keys[pygame.]K_UP: y -= vel if keys[pygame. py]K_DOWN]: y += vel draw_game()pygame.quit()

(在一个完美的世界中,我会为坐标使用蛇案,但在所有诚实中,我发现这更快更清晰。如果这对你没有任何意义,请不要担心!)

点击戏剧,你应该用一个游戏打招呼,让你在屏幕周围控制一个小绿色广场,试图逃避红场。这是令人兴奋的东西!

这些都有什么用呢?

恭喜!你刚刚学会了如何在Python中进行游戏!除了你可能不知道这有什么作用或为什么我们这样做了。所以让我们经历它,我们吗?

PIP安装

使用pip安装模块

首先,我们用这行代码导入Pygame模块进口pygame。这可能已经在您的机器上,并且可能作为默认安装来的。如果没有,那么你可以安装它与脉冲。我们还需要初始化Pygamepygame.init()。接下来,我们将创建一个用于显示游戏的窗口。“Set_caption”让我们给游戏起个标题,显示在窗口的顶部。

导入pygame pygame.init()win = pygame.display.set_mode((1280,720))pygame.display.set_caption(“方形”)

在下一节中,我们将定义一系列变量:坐标,速度,布尔值(真值或假值),告诉我们游戏是否运行。

x = 100 y = 100 baddyx = 300 baddyy = 300 vel = 6 baddyvel = 4 run = true

接下来有一个小功能drawGame ().在这里,我们首先用一个空白颜色(黑色)填充屏幕。这意味着我们可以移动角色的位置而不留下痕迹。另一种选择是在角色的上方用黑色绘制。

这是绘制两个方格。我们将它们放在窗口内,我们为它们提供RGB颜色代码,然后我们在添加宽度和高度之前设置x和y坐标。记住:沿着走廊和楼梯!我觉得让我们的坏人比好人更大,让他变得可怕的红色!

最后,我们打电话pygame.display.update (),使这些元素实际上在屏幕上绘制。

def draw_game():win.fill((0,0,0))pygame.draw.rect(win,(0,0,255),(x,y,20,20))pygame.draw.rect(获胜,(255,0,0),(baddyx,backyy,40,40))pygame.display.update()

也可以看看:如何在Python调用函数

如何在Python中创建一个游戏循环

代码的下一部分是真正有趣的地方。这是您可能在许多Pygame创作中看到的“样板文件”。本质上,这是一个循环只要运行设置为True。

该循环的第一行增加了短暂延迟。实际上,这就是将我们的“帧率”设置并防止所有事情发生得太快,甚至可以看到!

而运行:pygame.time.delay (100)

基本上,所有我们想要重复发生的事情都会进入一个循环。我们在这里放的第一件事是一段代码它定义了坏人的行为。它使用如果el(否则,if)语句才能控制代码的流程。如果玩家的坐标的价值大于坏人的坐标,那么坏人将转向改变这个:关闭我们的立场。因为我们的角色一次移动几个像素(如图所定义)韦尔Baddyvel.变量),我已经为错误增加了一点空间。

if baddyX < x - 10: baddyX = baddyX + baddyVel elif baddyX < y - 10: baddyX = baddyX + baddyVel elif baddyY < y - 10: baddyX = baddyX + baddyVel elif baddyY < y - 10: baddyX = baddyX + baddyVel elif baddyY < y - 10: baddyX = baddyX + baddyVel else: run = False

但是,如果坐标落在我们的玩家的10个像素内,那么它就会过来!运行设置为False,程序退出循环。循环之后的最后一个语句将退出游戏。

但是它仍然有点难看,因为坐标设置在正方形的左上角,而不是中心。这意味着碰撞检测是非常不可靠的,如果你真的在创造一款游戏,你便需要做一些算术去确保如果角色接触到任何内容,游戏便会结束。

注意每次Backy改变位置时,我们都会打电话drawGame ()刷新画布。

最后,我们需要从玩家那里获得输入,并根据此移动玩家角色。值得庆幸的是,Pygame让这变得非常简单:

对于pygame.event.get()中的事件:= = pygame类型。如果keys[pygame. key.get_pressed()] = False keys = pygame.key.get_pressed()K_LEFT: x -= vel if keys[pygame.]K_RIGHT: x += vel if keys[pygame.]K_UP: y -= vel if keys[pygame. py]K_DOWN]: y += vel draw_game()

正如你所了解的,这段代码的第一部分还允许玩家通过点击交叉按钮退出。

最后,我们在循环结束后退出游戏!

这就是我们剩下的:

如何用Python制作游戏

它不是完全Cyber​​punk 2077.,但至少它完成了!#燃烧

从这里去哪里

现在您已经知道如何用Python制作游戏了!至少您知道如何在屏幕上制作移动的方块……但希望这足以让您了解Pygame如何扩展普通Python的能力。剩下的只是学习你需要添加额外功能的技能,直到你拥有自己满意的东西!查看官方文档在这里

或者,如果您想加速您的发展和学习市场技能,为什么不参加在线课程?这是正确学习Python的最快方法,我们甚至有一个方便的人指南最好的在线Python课程。试一试用Python编写代码:对有抱负的开发人员的培训仅为49.99美元。不过还是快点吧,因为这门课程的价值在700美元左右。

评论
阅读评论