分类 Godot自学 下的文章

让我们通过制作 RPG 来学习 Godot 4 — 第 16 部分:等级和 XP 现在我们有了基本的敌人和玩家,我们需要给自己一个杀死敌人的动机。我们可以通过升级系统来实现这一点,该系统在获得一定数量的 XP 后提高玩家的等级。如果玩家升级,他们会得到奖励,包括拾取物品和属性(健康、耐力)补充。我们还会在升级时增加他们的最大健康和最大耐力值。您将在本部分中学习到的内容:· 如何使用 Popup 节点。· 如何暂停场景树。· 如何允许/禁止输入处理。· 如何改变节点的处理模式。· 如何(可选)更改鼠标光标的图像和可见性。升级概述升级弹出窗口准备就绪后,打开你的游戏项目,在...    

让我们通过制作 RPG 来学习 Godot 4 — 第 15 部分:玩家死亡和游戏结束 现在我们的玩家可以被敌人伤害,我们可以继续实现该功能,以便他们可以死亡,如果他们已经死亡,游戏就结束了,并显示游戏结束屏幕。稍后,我们将在此游戏结束系统的基础上进行构建,以便我们重定向到主菜单屏幕。您将在本部分中学习到的内容:· 使用 AnimationPlayer 节点进一步练习。· 进一步练习使用 CanvasLayer 节点。在 Player 场景中,向 UI 节点添加新的 Label 和 ColorRect。将 ColorRect 重命名为“GameOver”。它应该如下所示:将 ...    

让我们通过制作 RPG 来学习 Godot 4 — 第 14 部分:敌人射击和造成伤害 如果玩家是游戏中唯一能够造成伤害的实体,那就不公平了。这会让他们成为毫无威胁的强大恶霸。这就是为什么在这一部分我们要赋予敌人反击的能力,他们将能够对我们的玩家造成真正的伤害!这个过程与我们赋予玩家射击和造成伤害的能力时所做的类似。这次只是反过来。这部分可能需要一段时间,所以请放松,让我们的敌人值得成为我们的敌人!您将在本部分中学习到的内容:· 如何使用 AnimationPlayer 节点。· 如何使用 RayCast2D 节点。· 如何使用调制值。· 如何复制/粘贴节点以及复制对象。敌人...    

让我们通过制作 RPG 来学习 Godot 4 — 第 13 部分:敌人死亡时掉落战利品 我们终于可以射击并杀死敌人了,但我们可以做得更好。我希望我们升级敌人的死亡功能,以便我们的敌人掉落我们可以捡起的战利品。这种战利品掉落的几率为 90%,并且战利品将从我们的 Pickups 枚举中随机抽取。这意味着我们的敌人可能会掉落弹药、健康饮料或耐力饮料。您将在本部分中学习到的内容:· 如何随机化百分比和枚举返回值。在 damage() 函数的死亡条件中,我们需要使用随机方法来随机化战利品变化百分比。如果值小于 0.9(90%),我们将随机化一个拾取物。这个拾取物也将根据我们拥有的枚举...    

让我们通过制作 RPG 来学习 Godot 4 — 第 12 部分:玩家射击和造成伤害 如果不能射击敌人,敌人还有什么用呢?在这一部分中,我们将创建子弹,让玩家可以朝他们面对的方向射击。然后,我们将添加一个动画,显示如果我们的子弹击中敌人,敌人会受到伤害。如果子弹击中敌人的程度足以使其生命值耗尽,他们也会死亡。稍后,我们将提高玩家的 XP,并在敌人死亡时为其添加战利品。但现在,让我们系好安全带,因为这部分会很长!您将在本部分中学习到的内容:· 如何使用 AnimationPlayer 节点。· 如何使用 RayCast2D 节点。· 如何使用调制值。· 如何使用 Time 类...    

让我们通过制作 RPG 来学习 Godot 4 — 第 11 部分:生成敌人 AI 想象一下,手动将 50 多个敌人添加到我们的场景中需要做多少工作。这不仅看起来很混乱,而且还意味着我们的场景中只有 50 个敌人,如果我们杀死他们所有人,他们就会消失,直到我们重新加载游戏。为了解决这个小难题,我们可以创建一个敌人生成器,它将在整个地图的随机位置以恒定值生成我们的敌人,这意味着我们的敌人永远不会多于或少于我们定义的敌人。每次我们杀死一个敌人并将其移除时,生成器都会生成一个新的敌人,依此类推。我们还将使我们的生成器足够灵活,以便我们可以在 Inspector 面板中更改生成区...    

让我们通过制作 RPG 来学习 Godot 4 — 第 10 部分:动画 AI 运动 如果敌人只是以静态图像的形式漂浮在我们的地图上,那它有什么用呢?这不行,所以让我们开始着手实现动画,让我们的敌人活过来。我还给你准备了一个惊喜:我们已经编写了大部分敌人的动画代码。嗯,不是真的,我的意思是它仍然在 Player 代码中,但这意味着我们可以继续复制和粘贴一些代码,这极大地加快了我们的开发时间。您将在本部分中学习到的内容:· 如何向不可控节点添加动画。· 进一步练习向量。在您的 Player 脚本中,我们想要将两个完整的函数复制到我们的 Enemy 脚本中。您应该复制的第一个函...    

让我们通过制作 RPG 来学习 Godot 4 — 第 9 部分:敌人 AI 设置 如果没有某种威胁或敌人需要击败,游戏就不算完整。在我们的游戏中,我们将有一个仙人掌敌人,它会以恒定值在地图上生成,这意味着在游戏循环期间,地图上的敌人数量永远不会多于或少于 x。如果玩家触碰这个敌人,它会伤害我们的玩家,它也会向我们的玩家射击。让我们开始介绍我们的敌人 AI。您将在本部分中学习到的内容:· 如何向不可控节点添加运动。· 如何使用计时器节点。· 如何使用 RandomNumberGenerator 类。· 如何使节点随机移动,以及如何向其他节点移动。图 13:敌人概况敌人场景...    

让我们通过制作 RPG 来学习 Godot 4 — 第 8 部分:添加弹药拾取和消耗品 如果您已成功完成本系列教程的这一部分,那么您应该已经设置好了基本地图、可移动角色和游戏 GUI。在本节中,我们将重点介绍如何将拾取物添加到我们的游戏中。这些拾取物将包括健康和耐力消耗品以及弹药。当玩家拾取这些物品时,我们还将更新我们的 GUI 值。您将在本部分中学习到的内容:· 如何使用枚举。· 如何使用@tool对象。· 如何在编辑器中执行代码。· 如何通过内存队列从场景中删除节点。· 如何使用 Area2D 检测体。· 如何引用 TileMap 属性。拾取物品设置我们不会为每种消耗品创...    

让我们通过制作 RPG 来学习 Godot 4 — 第 7 部分:设置游戏 GUI #3 在前两部分中,我们为健康和体力值以及拾取物创建了 UI 元素。在 GUI 部分的最后一部分中,我们将创建显示玩家等级和 XP 值所需的元素。您将在本部分中学习到的内容:· 如何更轻松地向场景中添加 UI 元素。· 如何定位标签。· 如何改变节点的字体和锚定。等级和 XP UI我们暂时不会添加任何代码来更新它,因为我们首先需要为其创建一个敌人。现在让我们继续创建这些元素。在您的 Player 场景中,让我们将一个新的 ColorRect 添加到我们的 UI 节点。将此节点重命名为 XP,并向...