Menu
CoddyTech

限制两个轴的范围

本课属于 Coddy Godot 学习旅程的“输入与移动”单元。第 22 课,共 28 课。

俯视角英雄可以从屏幕的四边离开。Vector2 有自己的 clamp,可以让两个数字都保持在范围内:

position = position.clamp(Vector2(16, 16), Vector2(624, 344))

第一个向量是左上角。第二个向量是右下角。position 中的每个数字都保持在两个角对应数字之间。

英雄是一个直径约为 32 像素的圆。因此,它的中心与 640 × 360 屏幕的每条边都保持 16 像素的距离。

challenge icon

挑战

简单

让英雄在屏幕四边都保持可见。

  1. 在 move_and_slide() 之后,用 position.clamp() 设置 position。
  2. 将位置限制在 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()
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

输入与移动中的所有课

自己练习: Godot 在线编辑器