Menu
CoddyTech

Anh hùng: 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 26 trên 28.

Nhân vật chính vẫn quay mặt sang phải khi chạy sang trái. Lật nút Look theo hướng của các phím:

if direction > 0:
	$Look.scale.x = 1
if direction < 0:
	$Look.scale.x = -1

Đặt các dòng này sau khi đặt direction. Khi không nhấn phím nào, cả hai câu lệnh if đều không chạy, vì vậy nhân vật chính vẫn giữ hướng quay mặt lần cuối.

challenge icon

Thử thách

Dễ

Hãy để nhân vật quay mặt theo hướng chạy.

  1. Trước move_and_slide(), đặt $Look.scale.x thành 1 khi direction > 0.
  2. Đặt thành -1 khi direction < 0.

Nhấn Chơi rồi chạy sang trái: nhân vật quay sang trái và vẫn quay mặt 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 = 1200
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

Tự luyện tập: Playground Godot