Menu
CoddyTech

探索地牢

本课属于 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,所以你不需要乘以它。

challenge icon

挑战

简单

让英雄在地牢中行走。

  1. 在 hero.gd 中,添加 const SPEED = 160。
  2. 每个物理帧,将 velocity 设置为四个移动操作的 Input.get_vector 结果乘以 SPEED,然后调用 move_and_slide()。

按下“开始”并行走:墙壁会挡住英雄。然后点击“检查”。

亲手试试

extends CharacterBody2D

func _physics_process(delta):
	pass

项目中的所有课

自己练习: Godot 在线编辑器