EsquinaWeb

< Todos los temas
Imprimir

Crear la escena del jugador

Ya realizando la configuración del proyecto, podemos empezar creando la escena del jugador.

La primera escena va a definir el objeto  Player  las ventajas de crear las escenas por separado es que se pueden probar individualmente, aún sin antes haber creado otras partes del juego.

Estructura de nodos

Para comenzar elegimos un nodo raiz para el objeto del jugador (cada nodo es una Clase), en este caso vamos crear nodo  Area2D , haz Click en el botón “Otro Nodo” y escoge el mencionado antes.

escena-otro-nodo

Cuando se agrega el nodo  Area2D , Godot mostrara un icono con una advertencia.

area-2d-advertencia

La advertencia nos indica que el nodo  Area2D  requiere una forma de detectar colisiones o superposiciones, por ahora vamos a ignorar la advertencia, ya que primero vamos a configurar las imagenes de nuestro jugador (usando sprite animados). una vez que agreguemos las imagenes, podemos agregar la colisición como un nodo secundario para asi poder ajustar la forma y el tamaño con precisión según la apariencia de nuentro sprite.

Con el nodo  Area2D  podemos detectar cuando un objeto en contato o se superponen. cambiaremos el nombre del nodo a  Player , haciendo doble click encima de  Area2D  que es nuestro nodo raíz de la escena.

Antes de añadir un cualquier nodo hijo a  Player , vamos a garantizar de que no lo vamos a mover o re-dimensionamos acidentalmente haciendo clic sobre los nodos hijos. Selecionando el nodo raiz y haciendo clic al lado derecho del candadito; su tooltip dice “Agrupar Nodo(s) Selecionado(s) (Ctrl + G)”

nodo player, agrupar

Guardamos la escena como  player.tscn . Haz clic en Escena->Guardar Escena, cuando estemos la pantalla vamos a crear un carpeta llamada  scenes  dentro de la nueva carpeta guardamos la escena

Animación del sprite

Selecionados el nodo principal  Player , con  Ctrl + A  o clic derecho + Añadir Nodo Hijo… y creamos un nodo  AnimatedSprite2D  este nodo se va encargar tando de las imagenes y las animaciones de nuestro personaje, se observa una advertencia en el nodo que nos indica que demos asiganar un recurso de “Sprite Frames” que es el encargado de mostrar los fotogramas. Ahora selecionamos  AnimatedSprite2D  y nos dirigimos al “Inspector” ubicado lateral derecho y buscamos la propiedad “Sprite Frames” de  AnimatedSprite2D  en “Animation” , clic en “vacío”->”Nuevo SpriteFrames”

Haz clic en  Nuevo SpriteFrames  que se acaba de crear y va abrir el panel de  SpriteFrames , si lo creas y no te aparece solo dale clic en el que acabas de crear y te va aparecer el panel.

A la izquierda vamos a crear nuestra lista de animaciones, en la animación “default” le vamos a cambiar el nombre por “walk” y luego vamos añadir una nueva animación o (Ctrl + N) llamada “up”

En el Sistema de archivos vamos a la carpeta  art  ->  Pelos  y arrastramos las imagenes a cada animación creada

 playerGrey_up1.png  y  playerGrey_up2.png  para la animación  up   playerGrey_walk1.png  y  playerGrey_walk2.png  para la animación  walk 

Las imagenes del personaje son muy grandes, vamos ajustar la “Scale” selecionamos el nodo principal  Player  vamos al “Inspector” en la sección “Node2D” en “Transform” buscamos la propieda “Scale” y ajustamos los valores de x y y en “(0.5, 0.5)

Colisión para el sprite

Igual que se añadio  AnimatedSprite2D  un nodo hijo, agregamos el nodo hijo   CollisionShape2D  al nodo principal de   Player , para determinar el “hitbox” del jugador, o los limites de su área de colisión, para el tipo de personaje ovalado podriamos usar un nodo   CapsuleShape2D , vamos al “Inspector” en la sección de “CollisionShape2D” en “vacío” selecionamos “Nuevo CapsuleShape2D“, usando los manejadores ajustamos hasta cubrir el personaje.

player con CapsuleShape2D

La escena del   Player  debería ver asi:

Ya se deben desaparecer la advertencia del   Area2D , ya que ahora el objeto del   Player  ya puede interactuar con otros objetos.

Recuerda gurdar la escena.

Tabla de contenidos