Menu
CoddyTech

Vector2 数学运算

本课属于 Coddy Godot 学习旅程的“节点与场景”单元。第 16 课,共 28 课。

你可以用 Vector2 进行数学运算。两个向量相加时,x 值相加,y 值也相加:

Vector2(100, 50) + Vector2(10, 5)   # (110, 55)

乘以一个数字时,两个分量都会相乘:Vector2(100, 50) * 2 的结果是 (200, 100)。velocity * delta 就是这样运作的。

向量的长度表示它沿直线延伸的距离。.length() 可以计算出这个值:

var step = Vector2(3, 4)
print(step.length())   # 5.0

对于速度向量,长度就是真实速度。机器人每秒向右移动 120 像素、向上移动 90 像素,那么它每秒会移动 150 像素。

challenge icon

挑战

简单

打印机器人的实际速度,然后让它飞起来。

  1. 在 _ready() 中,使用 .length() 打印 "Speed: " 和 velocity 的长度。
  2. 在 _process() 中,使用 delta 让机器人每秒移动 velocity 对应的距离。

按下运行:控制台会显示 Speed: 150.0,机器人会向右上方飞去。然后点击检查。

亲手试试

extends Node2D

var velocity = Vector2(120, -90)

func _ready():
	pass

func _process(delta):
	pass

节点与场景中的所有课

自己练习: Godot 在线编辑器