Đi bộ với vận tố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 8 trên 28.
Để di chuyển bằng các phím, hãy đặt vận tốc bằng Input.get_axis() ở mỗi khung hình vật lý, rồi di chuyển:
var speed = 200
func _physics_process(delta):
velocity.x = Input.get_axis("move_left", "move_right") * speed
move_and_slide()Giữ phím phải sẽ đặt velocity.x thành 200. Giữ phím trái sẽ đặt thành -200. Không giữ phím nào thì giá trị là 0, nên nhân vật sẽ dừng lại khi bạn nhả phím.
Với Node2D, bạn đã viết position.x += direction * speed * delta. Với một body, velocity chính là tốc độ. Nhân nó với delta sẽ khiến nhân vật di chuyển chậm hơn 60 lần.
Thử thách
DễCho nhân vật chính đi bộ sang trái và phải bằng vận tốc của nó.
- Phía trên
move_and_slide(), đặtvelocity.xbằngInput.get_axis("move_left", "move_right")nhân vớispeed. - Bỏ qua
delta:move_and_slide()tự áp dụng giá trị này cho bạn.
Nhấn “Chơi” và giữ một phím mũi tên: nhân vật chính đi bộ với tốc độ 200 pixel mỗi giây và dừng lại khi bạn thả phím. Sau đó nhấn “Kiểm tra”.
Tự làm thử
extends CharacterBody2D
var speed = 200
func _physics_process(delta):
move_and_slide()
Tất cả bài học trong Đầu vào và di chuyển
5Dự á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