Como cambiar el idioma de tu juego

También te podría gustar...

12 Respuestas

  1. Nacho dice:

    Buena explicacion, intentare implementarlo en mi juego.
    excelente pagina !!!

  2. jeibin777 dice:

    hola como esta me gusto mucho tu guía, podrías dar una guía de como podemos guarda un objeto dentro de otro objeto y que salga al asar de manera aleatoria como si fuera una baraja de cartas es que quiero hacer un juego de carta al estilo yugioh y magic. podrias hacerlo te lo agrade seria mucho

    • David dice:

      Hola jeibin777,

      para guardar objetos dentro de otro, simplemente utiliza una variable y le asignas el objeto. Por ejemplo:

      a = obj_carta;

      Si quieres aleatoriedad, puedes usar la función choose(), hasta 15. Ejemplo:

      a = choose(obj_carta1, obj_carta2, obj_carta3);

      Si quieres más, puedes usar una lista y desordenarla con ds_suffle().

  3. chava dice:

    En que versión de game maker pudiste cambiar el idioma de el juego

  4. Yoorch dice:

    Hola,

    Enhorabuena por tu aportación y gracias.

    He leido este manual tuyo y me parece correcto tal y como lo abordas y explicas. Presentando las distintas opciones aunque no se toca el tema de idiomas tales como Arabe, Ruso, Hindú o chino que tiene otro tipo de caracteres. Podrias contarme como se haria esto.
    Sé que existe la manera de añadir una fuente por ejemplo HINDU.ttf en include files y luego crear una fuente en codigo con font_create además de tener tu archivo .ini con la correcta codificación de hindu. En mi caso tengo todo esto hecho y cuando va a leer el del fichero siempre me trae una cadena vacia.

    Agradeceria cualquier orientación que pudieras darme.
    Gracias

    • David dice:

      ¡Hola Yoorch!
      Cuando añades una fuente como recurso en tu proyecto, Game Maker te genera la fuente como imágenes (lo mete dentro de las páginas de textura) y por eso no aparece el texto.

      Navegando por el foro oficial de YoYogames, he visto una posible solución:

      https://forum.yoyogames.com/index.php?threads/using-japanese-characters-in-game-maker.3984/

      Añades la fuente, el fichero HINDU.ttf, como un fichero externo, en Included Files, y luego creas la fuente con la función font_add(). Yo lo añadiría en una variable global, rollo así,

      global.font_hindu = font_add( 'Hindu', 24, true, true, 0, 65536);

      Y luego usas el texto con esa fuente, ya que las letras las genera dinámicamente.

      Recuerda que el fichero .ini tiene que estar en fotmato UTF-8, para que coja los caracteres bien, y el rango de la fuente tiene que ser para que coja todo el Unicode.

      Si puedo hacer un ejemplo lo añadiré en el post, pero basicamente es lo que te he comentado.

      • Hola! Estoy traduciendo mi juego a chino, japones, ruso…y justamente me he topado con este problema. Creo que he entendido como solucionarlo gracias a tu comentario, pero lo único que no sé como hacer es crear el archivo ini en formato UTF-8. ¿Como se tendría que hacer?

        • David dice:

          Te paso enlace de ayuda de Game Maker dónde lo comenta:
          https://docs.yoyogames.com/source/dadiospice/002_reference/file%20handling/ini%20files/index.html

          Es decir, debes crear el fichero ini antes en UTF-8, y luego añadirlo. De esta manera, las funciones de lectura del ini desde GMS funcionaría (entiendo que no vas a escribir?
          ¿Y como crearlo? Puedes usar algún editor de textos avanzado, por ejemplo en Notepad++ puedes elegir en el menú “Lenguaje – Ini File”, que solo te sirve para ayudarte a la hora de escribir, y también en el menú “Codificación – Codificar en UTF-8”. Así puedes crear el fichero como te interesa.

  5. Rodrigo dice:

    En donde tengo que poner los codigos para que al presionar un boton, el juego cambie de ingles a frances, por ejemplo.

    • David dice:

      Hola Rodrigo,
      creo que en el proyecto de ejemplo se ve. En los botones para cambiar de idioma, es suficiente cambiar la variable global.language. Por ejemplo, en el botón de inglés
      global.language = "en";
      y en el botón de francés
      global.language = "fr";
      Al ser una variable global ya funcionaría en todos los objetos, ya que el script read_text() la usa.
      Lo único que quizás tengas que tener en cuenta es que si esos botones tienen textos traducidos, tendrás que actualizarlos todos al pulsar el botón.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *