探索地牢
本课属于 Coddy Godot 学习旅程的“项目”单元。第 29 课,共 36 课。
最后一个项目是一个俯视角的地牢探索游戏。英雄拿到钥匙,打开一扇门,躲过守卫,然后到达楼梯。
脚本是 hero.gd、enemy.gd 和 main.gd。墙壁是名为 Walls 的 StaticBody2D,已在场景中。
英雄可以朝四个方向移动。Input.get_vector 会读取四个按键,并给出长度为 1 的方向向量,因此斜向移动不会更快。move_and_slide() 会根据它的 velocity 移动物体,并使它沿着墙壁滑动:
velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
move_and_slide()move_and_slide 会自行使用 delta,所以你不需要乘以它。
挑战
简单让英雄在地牢中行走。
- 在
hero.gd中,添加const SPEED = 160。 - 每个物理帧,将
velocity设置为四个移动操作的Input.get_vector结果乘以SPEED,然后调用move_and_slide()。
按下“开始”并行走:墙壁会挡住英雄。然后点击“检查”。
亲手试试
extends CharacterBody2D
func _physics_process(delta):
pass
项目中的所有课
自己练习: Godot 在线编辑器