限制两个轴的范围
本课属于 Coddy Godot 学习旅程的“输入与移动”单元。第 22 课,共 28 课。
俯视角英雄可以从屏幕的四边离开。Vector2 有自己的 clamp,可以让两个数字都保持在范围内:
position = position.clamp(Vector2(16, 16), Vector2(624, 344))第一个向量是左上角。第二个向量是右下角。position 中的每个数字都保持在两个角对应数字之间。
英雄是一个直径约为 32 像素的圆。因此,它的中心与 640 × 360 屏幕的每条边都保持 16 像素的距离。
挑战
简单让英雄在屏幕四边都保持可见。
- 在
move_and_slide()之后,用position.clamp()设置position。 - 将位置限制在
Vector2(16, 16)和Vector2(624, 344)之间。
按“开始”,然后走到角落:英雄会停在那里,完整显示在屏幕上。然后按“检查”。
亲手试试
extends CharacterBody2D
var speed = 200
func _physics_process(delta):
velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * speed
move_and_slide()
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
输入与移动中的所有课
自己练习: Godot 在线编辑器