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.
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.
- Sau
move_and_slide(), đặtpositionbằngposition.clamp(). - Giới hạn vị trí trong khoảng từ
Vector2(16, 16)đếnVector2(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()
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
4Chuyển động mượt mà
Tăng tốc từ từLực ma sátQuay mặt theo hướng di chuyểnGiới hạn trong màn hìnhGiới hạn cả hai trục5Dự án: nhân vật anh hùng trong game đi cảnh
Anh hùng: chạyAnh hùng: nhảyTự luyện tập: Playground Godot