Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: internauta en Abril 05, 2013, 06:12:09 PM

Título: Problemas con el texto (SOLUCIONADO)
Publicado por: internauta en Abril 05, 2013, 06:12:09 PM
A ver si a alguien le ha pasado lo mismo que a mi...

No es por hacer publi de mi juego, pero si que os paso el enlace de Google Play para que podáis ver el fallo que tiene y no logro solucionar.

Enlace: https://play.google.com/store/apps/details?id=com.Syncrom.TestDelAmor

Se trata del Test del Amor. Si va vais a la primera opción (Tests de Pareja), y pulsáis luego sobre cualquiera de los tests se abrirá en una room nueva el test pulsado (son 10 preguntas).

PROBLEMA: Los textos que saco son archivos PNG que cargo vía Sprites y luego creo los Objetos correspondientes.

Antes de esto probé a crear los sprites, y en tiempo de ejecución a ponerlos visibles o no dependiendo de en qué pregunta estaba. Funcionaba bien SALVO por una cosa. Que la posición que le daba en horizontal y vertical no era la que luego se veía en el dispositivo ANDROID. Es decir, en el PC se colocaban bien en pantalla, y en Android salían mucho más pequeños. Era como si se redimensionase el tamaño. ¿Por qué? ¿Alguna idea?

Después de leer mucho, decidí hacerlo a las bravas, y crear un objeto por cada texto, posicionarlos dentro del room y luego en código le doy las coordenadas de visualización y hago que se vea o no cada pregunta del test que toca.

Claro, antes que todo esto hubiera sido crearse una buena fuente y sacar los textos con las funciones de dibujar texto de GM, pero esto no lo hacía bien.

Ahora mismo, en el juego publicado viven las dos opciones. Los textos de las preguntas son PNG's que son objetos, y va bien, pero es un auténtico "coñazo" el trabajar 50 objetos (50 preguntas) con sus coordenadas y demás.

Para el resultado del test usé las funciones de dibujar texto en las MISMAS COORDENADAS donde estoy colocando el objeto que tiene cada pregunta. Y podéis ver el resultado. El texto aparece muy pequeño, y más arriba y a la derecha de lo que debiera.

Como he dicho antes, es como si se hiciera un "resize" de ese texto a más pequeño, o como si uno diseñara en una resolución, y luego se jugara en otra superior, haciendo que las cosas sean más pequeñas...

Pero esto no pasa cuando posiciono objetos en lugar de texto o sprites.

¿Alguna idea?

Estoy haciendo otros juegos que necesitan texto, y lo que es una locura es meter en PNG todo el texto. Hace que el APK pese mucho más de lo que debería, y además, para traducirlo a otros idiomas es mucho más laborioso.

Tanto es así, que estoy planteándome cambiar de entorno de desarrollo y abandonar GM. Si alguno me dice que esto es lo mejor, ¿me podríais indicar otro entorno bueno y agradable?


Mil gracias sólo por leer este post, que es muy largo...

Diez mil gracias a quién después de leer se aventure a descargarse el APK y echarme una mano.


Un saludo,



Título: Re:Problemas con el texto
Publicado por: internauta en Abril 05, 2013, 06:30:08 PM
A ver, no borro el post anterior porque puede ser que a alguien le ayude...

Pero se me ha ocurrido meter el código del texto en el DRAW en lugar del DRAW GUI que estaba utilizando, y ha funcionado bien.

Ahora voy a probar a ver si puedo hacer lo mismo con el texto que tengo en PNG, así que probaré varias cosas:

1. Meter una fuente interesante y hacer que me pueda imprimir los acentos y las Ñ's.
2. Hacer una prueba con uno de los test, quitando los PNG's y programando el texto.

Lo que me lleva a la siguiente pregunta. ¿Cómo meter una simple Text Box en GM? He probado algún script que he visto por aquí, pero en Android no funciona. En el PC si, porque el teclado va aparte, pero en Android no, porque no puedo sacar el teclado.

¿Alguien conoce Cajas de Texto para ANDROID y Game Maker?

Un saludo,
Título: Re:Problemas con el texto (SOLUCIONADO)
Publicado por: internauta en Abril 05, 2013, 08:14:41 PM
Os cuento lo que he probado...

Correcto el punto 1. He podido introducir bien la fuente y el color, y todo bien. Y las coordenadas van bien también. Así que he quitado los PNG's y todo perfecto.

Ahora bien, tenía el código en un botón en el evento DRAW, y lo he tenido que quitar del DRAW del botón al DRAW de un objeto sin sprite (un objeto de control), porque si lo dejaba en el DRAW del botón no me dibujaba el propio botón.

No se por qué, ni si es que es así o no... Pero no merece la pena seguir perdiendo tiempo investigando esto cuando se puede hacer con un objeto control sin sprite asociado.

Sigo necesitando cajas de texto para que el usuario introduzca valores. Me parece algo fundamental, y no he visto que GM las tenga. ¿Me equivoco?


Un saludo,
Título: Re:Problemas con el texto (SOLUCIONADO)
Publicado por: brunoxzx en Abril 07, 2013, 10:04:40 AM
Cita de: internauta en Abril 05, 2013, 08:14:41 PM
Ahora bien, tenía el código en un botón en el evento DRAW, y lo he tenido que quitar del DRAW del botón al DRAW de un objeto sin sprite (un objeto de control), porque si lo dejaba en el DRAW del botón no me dibujaba el propio botón.

No se por qué, ni si es que es así o no... Pero no merece la pena seguir perdiendo tiempo investigando esto cuando se puede hacer con un objeto control sin sprite asociado.
Para dibujarlo sin usar otro objeto puedes usar la función "draw_self()" o lo que es lo mismo draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_alpha, image_blend); (solo te digo esté para que entiendas que es lo que se está haciendo).

Cita de: internauta en Abril 05, 2013, 08:14:41 PM
Sigo necesitando cajas de texto para que el usuario introduzca valores. Me parece algo fundamental, y no he visto que GM las tenga. ¿Me equivoco?
Sé que se puede acceder al teclado virtual del android con funciones como "get_string" (pruebala antes), pero son muy incomodas, mas como para debug y no se si yoyo ya haya añadido mejores funciones para estó. Si no encuentras como puedes irte a los métodos antiguos y hacer tu propio teclado  ;D.
http://gmc.yoyogames.com/index.php?showtopic=553495 (http://gmc.yoyogames.com/index.php?showtopic=553495)
Título: Re:Problemas con el texto (SOLUCIONADO)
Publicado por: internauta en Abril 08, 2013, 10:14:26 PM
Gracias amigo...

draw_sprite_ext tiene una pega, y es que necesito el index del sprite, que no lo conozco...

Esta es una de las grandes pegas del GM. El manejo de los índices en los objetos que crea...


Un saludo,
Título: Re:Problemas con el texto (SOLUCIONADO)
Publicado por: brunoxzx en Abril 10, 2013, 12:43:15 AM
Al escribir el nombre del sprite, gm devuelve su indice...

[gml]draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_alpha, image_blend);
[/gml]
Y el còdigo anterior no era para mostrarte lo que debes de escribir en cada campo, el còdigo funciona tal y como està. sprite_index, image_index, x, y, etc todas esas son variables predefinidas en todos los objetos. sprite_index indica el indice del sprite usado por el objeto, image_index la subimagen en la que està el objeto, etc(buscalas en el manual).