Menu
CoddyTech

Giới hạn cả hai trục

Thuộc phần Đầu vào và di chuyển trong hành trình Godot của Coddy. Bài học 22 trên 28.

Nhân vật trong trò chơi nhìn từ trên xuống có thể đi ra khỏi màn hình ở cả bốn cạnh. Vector2 có phương thức clamp riêng để giữ cả hai số trong phạm vi:

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

Vector đầu tiên là góc trên bên trái. Vector thứ hai là góc dưới bên phải. Mỗi số trong position luôn nằm giữa các số tương ứng ở hai góc.

Nhân vật là hình tròn có đường kính khoảng 32 pixel. Vì vậy, tâm của nhân vật luôn cách mỗi cạnh của màn hình 640 x 360 pixel 16 pixel.

challenge icon

Thử thách

Dễ

Giữ nhân vật chính luôn nằm trọn trong màn hình ở cả bốn phía.

  1. Sau move_and_slide(), đặt position bằng position.clamp().
  2. Giới hạn vị trí trong khoảng từ Vector2(16, 16) đến Vector2(624, 344).

Nhấn Chơi rồi đi đến một góc: nhân vật chính sẽ dừng lại ở đó, vẫn nằm trọn trong màn hình. Sau đó nhấn Kiểm tra.

Tự làm thử

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 iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Đầu vào và di chuyển

Tự luyện tập: Playground Godot