Герой: смотреть по ходу движения
Часть раздела Ввод и перемещение путешествия по Godot на Coddy. Урок 26 из 28.
Персонаж всё ещё смотрит вправо, когда бежит влево. Разверни его узел Look в направлении нажатых клавиш:
if direction > 0:
$Look.scale.x = 1
if direction < 0:
$Look.scale.x = -1Добавь эти строки после того, как задано значение direction. Если ни одна клавиша не нажата, ни один блок if не выполнится, поэтому персонаж продолжит смотреть в последнем направлении.
Задание
ЛегкоПусть герой смотрит в сторону движения: задайте $Look.scale.x значение 1 или -1. Когда вы остановитесь, он продолжит смотреть в ту же сторону.
Попробуйте сами
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()
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Ввод и перемещение
2CharacterBody2D
CharacterBody2DХодьба с помощью скоростиСтены останавливаютХодьба повсюдуРавномерные диагонали5Проект: герой платформера
Герой: бегГерой: прыжокПотренируйтесь самостоятельно: Песочница Godot