Herramientas de usuario

Herramientas del sitio


mensajes_por_defecto

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Última revisión Ambos lados, revisión siguiente
mensajes_por_defecto [2010/11/16 00:58]
al-khwarizmi
mensajes_por_defecto [2010/11/16 01:06]
al-khwarizmi
Línea 55: Línea 55:
 Si no se van a cambiar los mensajes a lo largo de toda la aventura, como sería lo más común, lo normal sería ejecutar uno de estos códigos en el método intro (ya que se ejecuta al principio). Si se quieren tener diferentes mensajes o juegos de mensajes en distintas partes de la historia, estos métodos se pueden ejecutar en cualquier punto de la misma para cambiarlos a partir de ese momento (se pueden tener varios ficheros de mensajes, o se pueden cambiar los mensajes uno por uno varias veces sin problema). Si no se van a cambiar los mensajes a lo largo de toda la aventura, como sería lo más común, lo normal sería ejecutar uno de estos códigos en el método intro (ya que se ejecuta al principio). Si se quieren tener diferentes mensajes o juegos de mensajes en distintas partes de la historia, estos métodos se pueden ejecutar en cualquier punto de la misma para cambiarlos a partir de ese momento (se pueden tener varios ficheros de mensajes, o se pueden cambiar los mensajes uno por uno varias veces sin problema).
  
 +=== Generar dinámicamente los mensajes por defecto ===
 +
 +Si en una aventura interesa que los mensajes por defecto sean muy dinámicos y cambiantes (por ejemplo, que cada vez que cojamos un objeto se elija un mensaje diferente de un conjunto de alternativas de forma aleatoria, o alguna otra cosa que requiera procesado); es posible controlar mediante código BeanShell el mostrado del mensaje, pasando por encima tanto de los mensajes por defecto definidos por AGE como de los establecidos para el mundo según lo visto en la sección anterior. Para ello, en el objeto mundo, redefinimos el método
 +
 +<code java>
 +String getMessage ( String messageName , Object[] arguments )
 +</​code>​
 +
 +donde como parámetro se nos pasa el nombre del mensaje que AGE quiere mostrar (por ejemplo, "​you.get.item"​) y un array con todas las entidades u otros objetos relevantes al mensaje (en este caso, el array tendría longitud 1 y sólo contendría la cosa que se está cogiendo y que se utilizaría por defecto para sustituir $item).
 +
 +El método debe devolver el mensaje que queremos que se muestre en ese caso, o bien null si no queremos alterar el comportamiento para ese mensaje y objetos sino delegar en el mecanismo por defecto de mensajes del mundo o de AGE.
mensajes_por_defecto.txt · Última modificación: 2011/03/13 12:53 por al-khwarizmi