Files
mod_shell2d_base/docs/es.md
T

4.1 KiB

2D Shell — el marco donde se dibuja cualquier juego 2D

2D Shell es la pantalla vacía que los juegos 2D rellenan: la imagen del lugar actual, el reloj y la barra de herramientas arriba, espacio para paneles y la esquina de notificaciones. Por sí sola no muestra nada. Los mods de contenido meten en ella sus propias capas: el Dialog Engine añade el cuadro de texto y las opciones de una novela visual, y el mod RPG añade el mapa de tiles transitable, de modo que una novela y un RPG de tiles comparten el mismo marco, la misma barra de herramientas y los mismos menús.

Lo incluye todo juego 2D: Cthangover, My Novel y RPG Plus.

La misma carcasa en dos juegos: una escena de Cthangover con el cuadro de texto y las opciones, y la aldea de RPG Plus con el mapa de tiles; ambos tienen el reloj arriba a la izquierda y la barra de herramientas arriba a la derecha.

Lo que ves en pantalla

Una escena de Cthangover: el fondo de la cocina, el reloj y un contador de raciones arriba a la izquierda, la barra de herramientas arriba a la derecha, las opciones «Leave» y «Cook», y el cuadro de texto abajo.

En esta escena, la carcasa aporta:

  • la imagen del lugar — la cocina, con su sombreado según la hora y sus luces (Time Engine);
  • la barra superior — el reloj arriba a la izquierda, la barra de herramientas arriba a la derecha y, en medio, el indicador de guardado y, de noche, la lámpara portátil;
  • la esquina de notificaciones bajo el reloj;
  • espacio para paneles — la bolsa, el mapa o el diario se abren sobre la escena.

El cuadro de texto y las opciones vienen del Dialog Engine, y el contador de raciones de Cooking: son capas que esos mods añaden a la carcasa.

Las capas, de atrás hacia delante

BaseScene
└── Scene
    ├── ModFirstPanel        capas de mods por detrás de todo
    ├── ViewBox              el lugar: luces, fondo, primer plano, Lastground
    ├── (content layer)      capa de un mod de contenido, p. ej. el lienzo de diálogos o el mundo RPG
    ├── TopView              reloj, barra de herramientas, indicador de guardado, lámpara
    ├── ModBeforeUIPanel     paneles de la barra: bolsa, mapa, diario, menú…
    ├── NotificationPanel    mensajes en la esquina superior izquierda
    └── ModLastPanel         capas superpuestas sobre todo, p. ej. la ventana de la mesa de trabajo

Las capas posteriores se dibujan sobre las anteriores.

Para autores de mods

Añadir una capa de contenido con un parche de escena. Un parche es un .tscn en la carpeta patches/ de tu mod, en la misma ruta que la escena de la carcasa. Instancia la escena de la carcasa y añade o cambia nodos. El parche del Dialog Engine añade el lienzo de diálogos justo después del visor:

patches/scenes/ui/base_scene.tscn
[ext_resource type="PackedScene" path="res://mods/shell2d_base/scenes/ui/base_scene.tscn" id="1_target"]
[ext_resource type="PackedScene" path="res://scenes/ui/dialog_canvas.tscn" id="3_dialog"]

[node name="BaseScene" instance=ExtResource("1_target")]

[node name="DialogCanvas" parent="Scene" index="2" instance=ExtResource("3_dialog")]

El mod RPG añade su RpgWorldHost del mismo modo, así que un juego con ambos muestra el mapa de tiles y, encima, las líneas de diálogo.

Añadir un panel sin parche. Un panel de la barra o una capa superpuesta se declara en la sección ui del manifiesto con uno de los slots de la carcasa: ModBeforeUIPanel, ModLastPanel o el Lastground del visor. Los campos están en la guía del mod UI.

Declara la dependencia. Un mod que necesite el marco 2D lista shell2d_base en depends; la carcasa de por sí trae Time Engine y UI.

Si algo falla

  1. Una pantalla negra con solo la barra de herramientas. Ningún mod de contenido está rellenando la carcasa (falta el Dialog Engine o el mod RPG en el juego), o la escena no tiene fondo.
  2. Un panel aparece detrás de la escena. Su manifiesto nombra un slot que se dibuja demasiado pronto; usa ModBeforeUIPanel o ModLastPanel.