目录
基于网格移动
问题
您需要以网格模式移动的2D角色。
解决方案
基于网格或瓷砖的移动意味着角色的位置受到限制。他们只能站在一个特定的瓷砖上,而不能站在两个瓷砖之间。
是我们将用于player节点:
- Area2D(“玩家”):使用Area2D意味着我们可以检测到重叠(用于拾取物体或与敌人碰撞)。
- Sprite:你可以在这里使用一个Sprite sheet(我们将在下面设置动画)。
- CollisionShape2D:不要把bitbox(检查碰撞的形状)做得太大。由于玩家将站在瓷砖的中心,因此重叠将在中央。
- RayCast2D:用于检查是否可以沿给定方向移动。
- Tween:用于插值从一个图块到另一个图块的运动。
- AnimationPlayer:用于播放角色的行走动画。
将一些输入操作添加到“输入映射”。 在此示例中,我们将使用“上”,“下”,“左”和“右”。