Menu
CoddyTech

Phép toán với Vector2

Thuộc phần Nút và cảnh trong hành trình Godot của Coddy. Bài học 16 trên 28.

Bạn có thể tính toán với Vector2. Cộng hai vectơ sẽ cộng các giá trị x và cộng các giá trị y:

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

Nhân với một số sẽ nhân cả hai thành phần: Vector2(100, 50) * 2 bằng (200, 100). Đó là cách velocity * delta hoạt động.

Độ dài của một vectơ là khoảng cách nó đi được theo đường thẳng. .length() sẽ tính giá trị này:

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

Với vận tốc, độ dài chính là tốc độ thực. Một robot di chuyển sang phải 120 pixel và lên trên 90 pixel mỗi giây sẽ đi được 150 pixel mỗi giây.

challenge icon

Thử thách

Dễ

In ra tốc độ thực của robot, rồi cho robot bay.

  1. Trong _ready(), in ra "Speed: " và độ dài của velocity bằng .length().
  2. Trong _process(), di chuyển robot theo velocity mỗi giây bằng delta.

Nhấn Chơi: Bảng điều khiển hiển thị Speed: 150.0 và robot bay lên trên về phía bên phải. Sau đó nhấn Kiểm tra.

Tự làm thử

extends Node2D

var velocity = Vector2(120, -90)

func _ready():
	pass

func _process(delta):
	pass

Tất cả bài học trong Nút và cảnh

Tự luyện tập: Playground Godot