创建玩家场景
项目设置到位后,我们可以开始处理玩家控制的角色。
第一个场景, 我们会定义 Player
对象. 单独创建Player场景的好处之一是, 在游戏的其他部分做出来之前, 我们就可以对其进行单独测试.
节点结构
首先,我们需要为玩家对象选择一个根节点。一般而言,场景的根节点应该反映对象所需的功能——对象是什么。单击“其他节点”按钮并将 Area2D 节点添加到场景中。
Godot 将在场景树中的节点旁边显示警告图标。你现在可以忽略它。我们稍后再谈。
使用 Area2D
可以检测到与玩家重叠或进入玩家内的物体. 通过双击节点名称将其名称更改为 Player
. 我们已经设置好了场景的根节点, 现在可以向该角色中添加其他节点来增加功能.
在将任何子级添加到 Player
节点之前,我们要确保不会通过点击它们而意外地移动它们或调整其大小。请选中该节点,然后点击锁右侧的图标;它的工具提示显示“确保对象的子级不可选择”
保存场景。点击“场景 -> 保存”,或者在 Windows/Linux 平台上按下 Ctrl+S,在 macOS 上按下 Cmd+S。
备注
对于此项目,我们将遵循 Godot 的命名约定。
GDScript:类(节点)使用 PascalCase(大驼峰命名法),变量和函数使用 snake_case(蛇形命名法),常量使用 ALL_CAPS(全大写)(请参阅 GDScript 编写风格指南)。
C#:类、导出变量和方法使用 PascalCase(大驼峰命名法),私有字段使用 _camelCase(前缀下划线的小驼峰命名法),局部变量和参数使用 camelCase(小驼峰命名法)(请参阅 C# 风格指南)。连接信号时,请务必准确键入方法名称。
精灵动画
点击 Player
节点并添加(在 Windows/Linux 中按Ctrl + A,或者在 macOS 中按 Cmd + A)一个 AnimatedSprite2D 节点作为子节点。AnimatedSprite2D
将处理我们玩家的外观和动画。请注意,节点旁边有一个警告符号。AnimatedSprite2D
需要一个 SpriteFrames 资源,该资源是一个可显示的动画列表。要创建它,在“检查器”的 Animation
选项卡中找到 Sprite Frames
属性,然后点击“[空]”->“新建 SpriteFrames”。再次点击来打开 SpriteFrames
面板:
左边是一个动画列表。点击“defalult”动画并将其重命名为“walk”。然后点击“Add Animation”按钮,创建另一个名为“up”的动画。在“FileSystem”选项卡中找到玩家图像——它们应该在你之前解压的 art
文件夹中。将每个动画的两张图像, playerGrey_up[1/2]
和 playerGrey_walk[1/2]
,拖到对应动画的面板的“Animation Frames”处:
玩家图像对于游戏窗口来说有点过大,需要缩小它们。点击 AnimatedSprite2D
节点,可以在检查器 Node2D
标签中,将 Scale
属性设置为 (0.5, 0.5)
。
最后,在 Player
下添加一个 CollisionShape2D 作为子节点,以确定玩家的“攻击框”,或者说碰撞范围。CapsuleShape2D
节点最适合这个角色,那么就在检查器中“Shape”的旁边点击“[空]”->“新建 CapsuleShape2D”添加形状,使用两个控制柄,调整形状大小以覆盖精灵:
完成后, 你的 Player
场景看起来应该像这样:
修改完成后请确保再次保存场景.
在下一部分中,我们将向玩家节点添加一个脚本,以移动它并为其添加动画效果。然后,我们将设置碰撞检测,以了解玩家何时被某些东西击中。
© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7
.
Built with Sphinx using a theme provided by Read the Docs.