Menu
CoddyTech

Mirar hacia donde te mueves

Parte de la sección Entrada y movimiento del Journey de Godot de Coddy. Lección 20 de 28.

El héroe está dibujado mirando hacia la derecha, y sigue mirando hacia la derecha cuando corre hacia la izquierda.

Todo lo que ves del héroe está en su hijo Look. Un valor de scale.x de -1 refleja un nodo y sus hijos de izquierda a derecha. Así que voltea Look:

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

No voltees el CharacterBody2D en sí, para que su forma de colisión se quede como está. Si no se mantiene pulsada ninguna tecla, direction es 0 y no se ejecuta ninguno de los bloques if. El héroe sigue mirando hacia donde se movió por última vez.

challenge icon

Desafío

Fácil

Haz que el héroe mire hacia donde corre. Establece $Look.scale.x en -1 cuando corra hacia la izquierda y en 1 cuando corra hacia la derecha. Cuando se detenga, seguirá mirando en la misma dirección.

Pruébalo tú mismo

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()
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Entrada y movimiento

Practica por tu cuenta: Playground de Godot