Creating the player scene
With the project settings in place, we can start working on the player-controlled character.
Player 对象. 单独创建Player场景的好处之一是, 在游戏的其他部分做出来之前, 我们就可以对其进行单独测试.
节点结构
是什么. 单击 “其他节点” 按钮并将 Area2D 节点添加到场景中.
Godot将在场景树中的节点旁边显示警告图标. 你现在可以忽略它. 我们稍后再谈.
Area2D 可以检测到与玩家重叠或进入玩家内的物体. 通过双击节点名称将其名称更改为 Player. 我们已经设置好了场景的根节点, 现在可以向该角色中添加其他节点来增加功能.
Player 节点之前, 我们要确保不会通过点击它们而意外地移动它们或调整其大小. 选择节点, 然后点击锁右侧的图标;它的工具提示显示 确保对象的子级不可选择.
保存场景。点击场景 -> 保存,或者在 Windows/Linux 平台上按下 Ctrl+S,在 macOS 上按下 Cmd+S。
注解
对于此项目, 我们将遵循Godot的命名约定.
- GDScript : 类(节点)使用大驼峰命名法(PascalCase), 变量和函数使用蛇形命名法(snake_case), 常量使用全大写(ALL_CAPS)(请参阅 GDScript 风格指南).
- C#: Classes, export variables and methods use PascalCase, private fields use _camelCase, local variables and parameters use camelCase (See C# 风格指南). Be careful to type the method names precisely when connecting signals.
精灵动画
Playernode and add an AnimatedSprite2D node as a child. TheAnimatedSpritewill handle the appearance and animations for our player. Notice that there is a warning symbol next to the node. AnAnimatedSprite2Drequires a SpriteFrames resource, which is a list of the animations it can display. To create one, find theFramesproperty in the Inspector and click “[empty]“ -> “New SpriteFrames”. Click again to open the “SpriteFrames” panel:art文件夹中. 将每个动画的两张图像,playerGrey_up[1/2]和playerGrey_walk[1/2], 拖到对应动画的面板的 “动画帧” 处:AnimatedSprite2Dnode and set theScaleproperty to(0.5, 0.5). You can find it in the Inspector under theNode2Dheading. CollisionShape2D as a child ofPlayer. This will determine the player’s “hitbox”, or the bounds of its collision area. For this character, aCapsuleShape2Dnode gives the best fit, so next to “Shape” in the Inspector, click “[empty]“” -> “New CapsuleShape2D”. Using the two size handles, resize the shape to cover the sprite:Player场景看起来应该像这样: 修改完成后请确保再次保存场景. In the next part, we’ll add a script to the player node to move and animate it. Then, we’ll set up collision detection to know when the player got hit by something.
