Acentos en Wherigo
Wherigo for dummiesAcentos |
|
Actualmente si compilas con la opción UTF-8 en whereyougo pone los acentos por lo que este manual ya no es necesario. Lo dejo como ejemplo de programación.
Una de las cosas que peor quedan en los cartuchos de Wherigo es no poder utilizar la ñ, los acentos y la diéresis. El problema se debe a que el compilador de Wherigos utiliza un juego de caracteres de 7 bits y por tanto no puede manejar los acentos. Sin embargo, los programas que corren los Wherigos en los dispositivos utilizan un juego de caracteres de 8 bits y por tanto, sí pueden utilizar acentos. Para solucionar este problema, lo que necesitamos hacer es que el cartucho se suba a la página de los wherigos para ser compilado sin los caracteres especiales y cuando el programa esté corriendo en el terminal se sustituyan la marcas introducidas por los acentos. Para hacer esta función hemos creado el fichero acentos.lua. Añadiendo este fichero a nuestros cartuchos podremos utilizar los acentos la diéresis y la ñ.
Descripción:
El funcionamiento del programa es: cuando generamos el cartucho con Urwigo enmascaramos la ñ y las tildes mediante una combinación de caracteres consistente en el carácter $ seguido de la letra que queremos cambiar. Esto debe hacerse en todas las partes de nuestro cartucho donde queramos utilizar los acentos, incluidos los nombres y descripciones de todos los objetos.
Después compilamos el cartucho normalmente y lo subimos a la página de Wherigo.
Posteriormente, cuando el cartucho se está ejecutando y justo al comienzo, lo que hace el programa es revisar todos los objetos de nuestro cartucho y sustituir la combinación de caracteres que hemos puesto por su correspondiente acentuado.
Para el caso especial de los diálogos, no he encontrado una forma mejor de hacerlo por lo que cuando queremos poner un diálogo o mensaje debemos de colocar una llamada a la función que hace el cambio para que este tenga efecto.
Pasos a seguir:
-
Poner el fichero acentos.lua en el mismo directorio que el cartucho
-
En las propiedades del cartucho, debemos seleccionar la casilla Inline Lua Require
-
En el campo Identifier de nuestro cartucho poner:”objMiCartucho”
- En el evento On Start del cartucho pondremos una Actions de tipo Lua User Code con el siguiente código:
require "acentos"
cambia_todo(objMiCartucho)
USO:
-
Acentos: donde necesitemos poner un acento, pondremos el carácter $ seguido de la vocal que queremos acentuar. Por ejemplo: d$ia, m$as, $arbol.
-
La ñ: $n para minúscula $N para mayúscula. Ni$no, $Nu
- Para la diéresis: $g. Cig$gue$na
Mensajes y diálogos:
En lugar de poner el texto directamente, pondremos la acción Lua User Expression y dentro, llamaremos a la función pon_acentos("mensaje"). Siendo mensaje el texto que queremos escribir.
En el resto de los elementos (nombres y descripciones de los Item, Zone y Characters) se cambian las marcas automáticamente por los acentos.
Funcionamiento:
- Emulador: No admite acentos, se cambia la marca por la vocal sin acentuar.
- Whereyougo: probado y parece funcionar correctamente
- I-Phone: no lo he probado pero no debería de haber problemas. Si alguien lo prueba que informe.
- Garmin: funciona todo excepto cambiar los nombre de los comandos de los Items y Characters
- Pocket -PC: no lo he probado
Ficheros:
El código está en fase beta por lo que es posible que vaya sufriendo cambios según se vaya verificando su funcionamiento.
No olvides poner juntos los dos archivos al compilar.