Quay mặt theo hướng di chuyển
Thuộc phần Đầu vào và di chuyển trong hành trình Godot của Coddy. Bài học 20 trên 28.
Nhân vật chính được vẽ hướng sang phải, và vẫn hướng sang phải khi chạy sang trái.
Toàn bộ phần hiển thị của nhân vật chính nằm trong nút con Look. Giá trị scale.x là -1 sẽ lật nút và các nút con của nó từ trái sang phải. Vì vậy, hãy lật Look:
if direction > 0:
$Look.scale.x = 1
if direction < 0:
$Look.scale.x = -1Đừng lật chính CharacterBody2D, để hình dạng va chạm của nó giữ nguyên. Khi không nhấn phím nào, direction bằng 0 và không có câu lệnh if nào chạy. Nhân vật chính tiếp tục hướng về phía nó đi lần cuối.
Thử thách
DễCho nhân vật quay mặt theo hướng chạy.
- Trước
move_and_slide(), đặt$Look.scale.xthành1khidirection > 0. - Đặt thành
-1khidirection < 0.
Nhấn Chơi rồi chạy sang trái: nhân vật quay sang trái và vẫn hướng sang trái khi bạn dừng lại. Sau đó nhấn Kiểm tra.
Tự làm thử
extends CharacterBody2D
var speed = 220
var acceleration = 900
var friction = 2400
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
var direction = Input.get_axis("move_left", "move_right")
if direction == 0:
velocity.x = move_toward(velocity.x, 0, friction * delta)
else:
velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)
move_and_slide()
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