Carteles de Ubicación
Los carteles de ubicación son indicadores visuales que se muestran en pantalla cuando el jugador entra a una nueva ciudad o ruta. A partir de la v1.2.0, La Base de Sky incluye un sistema de carteles completamente personalizable que reemplaza al antiguo plugin "Letreros de Jess".
Descripción
El sistema de carteles muestra el nombre del mapa actual cuando el jugador se desplaza entre zonas con nombres diferentes. Los carteles pueden tener gráficos personalizados por mapa, estilos de color de texto configurables y se integran con el menú de pausa a través de la clase LocationWindow.
Características principales:
- Gráficos personalizables por mapa o por estilo global
- Colores de texto y sombra configurables por estilo
- Escalado y desplazamiento opcionales del gráfico y el texto
- Integración con el menú de pausa (muestra la ubicación actual)
- Control granular de qué transiciones de mapa activan el cartel
Constantes de Settings
Todas las constantes se definen dentro del módulo Settings en el archivo 002_Settings.rb. A continuación se detallan las opciones disponibles:
| Constante | Descripción | Valor por defecto |
|---|---|---|
DISABLE_LOCATION_SIGNS |
Desactiva todos los carteles de ubicación del juego. Ponerlo en true para que no aparezca ninguno. |
false |
SHOW_LOCATION_SIGN_IN_PAUSE_MENU |
Muestra el cartel de ubicación también en el menú de pausa, indicando en qué zona se encuentra el jugador. | true |
NO_LOCATION_SIGNS |
Array de pares de IDs de mapa entre los cuales no se mostrará cartel al pasar de uno a otro. Los IDs se listan en pares consecutivos (ej: [4,5,16,17] → no muestra cartel entre mapas 4↔5 ni 16↔17). |
[] |
DEFAULT_LOCATION_SIGN_GRAPHIC |
Nombre del archivo gráfico que se usa por defecto cuando un mapa no especifica uno en sus metadatos. El archivo debe estar en Graphics/UI/Location/. |
"HGSS default" |
LOCATION_SIGN_GRAPHIC_STYLES |
Hash que define los estilos visuales disponibles para los carteles. Cada entrada del hash mapea un nombre de estilo a su configuración gráfica. | (ver sección de estilos) |
Personalizar estilos gráficos
La constante LOCATION_SIGN_GRAPHIC_STYLES es un Hash donde cada clave es el nombre de un estilo y cada valor es otro Hash con las propiedades del estilo. Las propiedades disponibles son:
| Clave | Tipo | Obligatoria | Descripción |
|---|---|---|---|
:graphic |
String | Sí | Nombre del archivo gráfico en Graphics/UI/Location/. |
:text_color |
Color | Sí | Color principal del texto del nombre de la ubicación. |
:shadow_color |
Color | Sí | Color de la sombra del texto. |
:zoomx |
Float | No | Factor de escala horizontal del gráfico. |
:zoomy |
Float | No | Factor de escala vertical del gráfico. |
:graphic_offset |
Array | No | Desplazamiento [x, y] del gráfico respecto a su posición base. |
:text_offset |
Array | No | Desplazamiento [x, y] del texto respecto a su posición base. |
:center_text |
Boolean | No | Si es true, centra el texto horizontalmente dentro del cartel. |
Ejemplo de definición de un estilo personalizado dentro de LOCATION_SIGN_GRAPHIC_STYLES:
LOCATION_SIGN_GRAPHIC_STYLES = {
"HGSS default" => {
:graphic => "HGSS default",
:text_color => Color.new(255, 255, 255),
:shadow_color => Color.new(0, 0, 0),
:center_text => true
},
"BW style" => {
:graphic => "BW sign",
:text_color => Color.new(48, 48, 48),
:shadow_color => Color.new(160, 160, 160),
:zoomx => 1.5,
:zoomy => 1.5,
:graphic_offset => [0, -10],
:text_offset => [20, 5],
:center_text => false
}
}
Graphics/UI/Location/ del proyecto. Asegurate de que el nombre coincida exactamente con el valor de :graphic.
Integración con metadatos de mapa
Cada mapa puede especificar qué gráfico de cartel usar a través de sus metadatos de mapa. Si un mapa tiene definido un gráfico específico en su metadata, se utilizará ese. Si no, se usará el valor de DEFAULT_LOCATION_SIGN_GRAPHIC.
El gráfico asignado al mapa se busca como clave dentro del hash LOCATION_SIGN_GRAPHIC_STYLES para obtener toda la configuración visual (colores, escala, desplazamientos). Si el nombre del gráfico no coincide con ninguna clave del hash, se usa el gráfico directamente con los colores por defecto.
¿Cuándo aparece el cartel?
- El cartel se muestra al pasar de un mapa a otro cuyo nombre sea diferente.
- Si dos mapas comparten el mismo nombre (por ejemplo, dos secciones de una misma ruta), no se activa el cartel.
- Las transiciones listadas en
NO_LOCATION_SIGNStampoco activan el cartel. - Si
DISABLE_LOCATION_SIGNSestrue, no se muestra ningún cartel en ninguna circunstancia.
Ejemplo de configuración
A continuación se muestra una configuración completa en 002_Settings.rb:
module Settings
# Activar/desactivar carteles
DISABLE_LOCATION_SIGNS = false
# Mostrar también en el menú de pausa
SHOW_LOCATION_SIGN_IN_PAUSE_MENU = true
# Pares de mapas que no activan cartel entre sí
# (ejemplo: mapas 4↔5 y 16↔17)
NO_LOCATION_SIGNS = [4, 5, 16, 17]
# Gráfico por defecto si el mapa no define uno
DEFAULT_LOCATION_SIGN_GRAPHIC = "HGSS default"
# Estilos de carteles disponibles
LOCATION_SIGN_GRAPHIC_STYLES = {
"HGSS default" => {
:graphic => "HGSS default",
:text_color => Color.new(255, 255, 255),
:shadow_color => Color.new(0, 0, 0),
:center_text => true
},
"Pueblo oscuro" => {
:graphic => "dark_town",
:text_color => Color.new(200, 200, 255),
:shadow_color => Color.new(20, 20, 40),
:graphic_offset => [0, -5],
:text_offset => [10, 0]
}
}
end
Comportamiento del cartel
El cartel se gestiona desde la clase LocationWindow en el módulo UI/PauseMenu, que se encarga de:
- Detectar el cambio de mapa comparando los nombres del mapa anterior y el actual (definido en
037_Overworld/002_Overworld.rb). - Cargar el gráfico correspondiente según los metadatos del mapa o el valor por defecto.
- Aplicar los estilos definidos en
LOCATION_SIGN_GRAPHIC_STYLES(colores, escala, offsets). - Animar la aparición y desaparición del cartel.
- Si
SHOW_LOCATION_SIGN_IN_PAUSE_MENUestrue, mostrar la ubicación actual dentro del menú de pausa.