viernes, 7 de marzo de 2025

Página 06: Apuntes de "How to make an action RPG in Godot 4 #6: Y-sorting between player and tilemap"

Lista de reproducción completa del tutorial de Godot sobre cómo crear un Action-RPG en Godot, creada por MakerTech

https://www.youtube.com/playlist?list=PLMQtM2GgbPEVuTgD4Ln17ombTg6EahSLr


En esta página de apuntes, veremos cómo hacer que el personaje pase por detrás de los árboles y otros Tiles sin que se superpongan uno con otro.

Esta parte es algo liosa, así que hay que entenderlo y practicarlo hasta que salga sin mirar.

Empezamos habilitando Y Sort Enabled que se encuentra en CanvasItem > Ordering.

  

Modificamos la capa de Arboles que hemos creado previamente, habilitamos Y Sort Enable y establecemos Z Index a 1.

 

Ahora mismo, el árbol siempre se superpondrá sobre el jugador.

Vamos a seleccionar el Tile y modificar Rendering > Y Sort Origin a 7.

  

Cuando modificamos Y Sort Origin, la cruz azul también cambiará de posición. Debemos asegurarnos de que quede en la base. Por lo que veo, si el jugador está por debajo de la cruz, será él quien se superponga; si la cruza, el árbol quedará por encima.

  

Ahora vamos a modificar el CharacterBody2D del jugador, para que esto empiece a funcionar.

 

Metemos al jugador como hijo del TileMap

Ahora mismo, nos hará esta cosa rara, como si funcionara a medias.


Esto se debe a que el jugador no esta centrado en su escena.

 Primero de todo, nos aseguramos que el Sprite2D del jugador este centrado en la escena.

 

Después de eso, debemos modificar las coordenadas en Offset > Offset del Sprite2D. Hay que asegurarnos de que el Sprite2D quede por encima de la línea de coordenadas X y que la línea de coordenadas Y lo divida el Sprite2D en dos partes iguales.

 

De forma alternativa, si necesitamos tener al jugador fuera del TileMap y que ambos sean hijos del nodo mundo, estando al mismo nivel, para que todo siga funcionando como hasta ahora, tendremos que seleccionar el Nodo2D de la escena mundo.

 Activamos Y Sort Enabled ubicado en CanvasItem > Ordering

  

Veo que si metes al jugador en el TileMap, seguirá funcionando correctamente.

Y eso es todo por hoy en esta página de apuntes. He vuelto a hacer esta sección para sacar las capturas, y me ha sorprendido poder hacerlo todo a la primera. Normalmente, siempre me hacía un lío, olvidando activar algo o dejando un valor incorrecto. Esta experiencia me sirve como un recordatorio constante de la importancia de repasar e intentar aplicar lo aprendido antes de avanzar al siguiente video, yabadupsia.


No hay comentarios:

Publicar un comentario

Archivo del blog