Programando el movimiento y sus controles

Clase 9 de 17Curso Introductorio de Desarrollo de Videojuegos con Godot

Resumen

¿Cómo se comienza a programar a un personaje en Godot Engine?

Una vez que hemos creado nuestro personaje en Godot, es crucial dotarlo de movimiento para que cobre vida en nuestro juego. Para ello, programaremos su lógica y aprovecharemos los inputs del usuario para traducir esos comandos en acciones visibles en el juego. Para iniciar, debemos abrir nuestra escena de player, que tiene extensión .TSCN y añadir un script con extensión .GD, usando el lenguaje GDScript, elegido específicamente para su claridad y similitud con Python.

¿Cómo se añade un script a una escena en Godot?

  1. Abrir la escena: Navega hasta tu escena de player (.TSCN) y ábrela.
  2. Agregar un script: Usa el botón "Añadir un nuevo script" al nodo seleccionado. Si ya tienes uno, también puedes vincularlo aquí.
  3. Configuración del script:
    • Idioma: Selecciona GDScript.
    • Extensión de clase: Para nuestro personaje, extiende de KinematicBody2D.
    • Guardado: Por convención, guarda el script con el mismo nombre que la escena, en este caso, "player".

¿Cómo se estructura un script en GDScript?

Cuando inicias un nuevo script en GDScript, encontrarás que:

  • Los scripts heredan clases, necesitando siempre definir la clase base.
  • Declaración de variables: Se utiliza la palabra var, similar a Python.
  • Las funciones inician con func, y la función ready se ejecuta automáticamente al cargar el nodo.

Aquí te mostramos cómo podría lucir un script básico para controlar el movimiento del personaje:

extends KinematicBody2D

var speed = 400

func _physics_process(delta):
    var direction = Vector2.ZERO

    if Input.is_action_pressed("ui_up"):
        direction.y -= 1
    if Input.is_action_pressed("ui_down"):
        direction.y += 1

    move_and_slide(direction * speed)

Este ejemplo ilustra cómo controlamos al personaje usando las teclas de dirección del teclado.

¿Cómo se vinculan las acciones del teclado al movimiento del personaje?

En Godot, podemos configurar acciones de teclado mediante el mapa de entradas de nuestro proyecto. Las flechas del teclado actúan como entrada para nuestras acciones definidas.

  1. Configurar entradas:

    • Accede a Proyecto > Configuración del Proyecto > Mapa de entradas.
    • Asegúrate de que las acciones ui_up y ui_down estén vinculadas a las teclas de flecha correspondientes.
  2. Programar las acciones:

    • Utiliza Input.is_action_pressed("ui_up") para detectar si la tecla de flecha hacia arriba (o la W) se está presionando.
    • De manera similar, implementa para el movimiento hacia abajo.

¿Cómo se aplica el movimiento en el juego?

Para que el personaje se mueva conforme se presionan las teclas, utilizamos la función move_and_slide():

  • Dirección de movimiento: Se determina por el vector direction, que en este caso, es ajustado según qué tecla se presiona.
  • Aplicación física del movimiento: Multiplicamos la dirección por la velocidad speed. Esto permite trasladar nuestro personaje arriba o abajo a una velocidad constante.

Al compilar y ejecutar tu escena, comprobarás cómo el personaje responde al presionar las teclas, dotando de vida a tu creación y permitiéndote avanzar en tu desarrollo. Recuerda, este es solo el principio; optimiza y experimenta con estos conceptos para mejorar tus habilidades en Godot y el desarrollo de videojuegos. Mantén el entusiasmo por aprender y no dudes en seguir explorando nuevas formas de mejorar tu juego.