Menu
CoddyTech

Герой: смотреть по ходу движения

Часть раздела Ввод и перемещение путешествия по Godot на Coddy. Урок 26 из 28.

Герой по-прежнему смотрит вправо, когда бежит влево. Отрази его узел Look в зависимости от направления нажатых клавиш:

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

Добавь эти строки после задания direction. Если ни одна клавиша не нажата, ни один if не выполняется, поэтому герой продолжает смотреть в том же направлении, что и раньше.

challenge icon

Задание

Легко

Заставь героя смотреть в сторону движения.

  1. Перед move_and_slide() установи значение $Look.scale.x равным 1, когда direction > 0.
  2. Установи значение -1, когда direction < 0.

Нажми «Играть» и беги влево: герой повернётся влево и продолжит смотреть влево, когда ты остановишься. Затем нажми «Проверить».

Попробуйте сами

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()

Все уроки раздела Ввод и перемещение

Потренируйтесь самостоятельно: Песочница Godot