Programando el movimiento y sus controles
Clase 9 de 17 • Curso 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?
- Abrir la escena: Navega hasta tu escena de player (.TSCN) y ábrela.
- Agregar un script: Usa el botón "Añadir un nuevo script" al nodo seleccionado. Si ya tienes uno, también puedes vincularlo aquí.
- 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ónready
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.
-
Configurar entradas:
- Accede a Proyecto > Configuración del Proyecto > Mapa de entradas.
- Asegúrate de que las acciones
ui_up
yui_down
estén vinculadas a las teclas de flecha correspondientes.
-
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.
- Utiliza
¿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.