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".

Nota: Si tu proyecto usaba el plugin de letreros de Jess, al actualizar a la v1.2.0 ya no lo necesitas. Esta funcionalidad está integrada directamente en la base.

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:

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 Nombre del archivo gráfico en Graphics/UI/Location/.
:text_color Color Color principal del texto del nombre de la ubicación.
:shadow_color Color 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
  }
}
Nota: Los archivos gráficos referenciados deben existir en la carpeta 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?

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:

Artículos relacionados