Límites de texto

Buenas!

Mi pregunta del día es si hay alguna forma de darle al actor Texto unas medidas específicas y que el contenido se acomode, tipo “Caja de texto”.

Surfeando en el código no lo encuentro, pero por ahí me estoy perdiendo de algo obvio.

Un abrazo!

Hola Luciano!!, mil disculpas por la demora… estuve haciendo algunas pruebas, el actor Texto no tiene esa funcionalidad, pero puedo crear un actor nuevo mas interesante para contener texto.

En unos dias intento publicar algo, creo que puedo implementarlo después de investigar un poco mejor sobre el uso de fuentes en Qt (la biblioteca que está debajo de pilas).

Hola, Hugo!
Obvio que no hay nada que disculpar!!!
Yo también estuve investigando un poco el tema aunque por ahora creo que voy a zafar agregándole un salto de línea cada tantos caractéres.

Voy a estar pendiente a lo que encuentres para después reemplazar esta grasada que estoy haciendo! xD

Buenas lucho!, al final pude recuperar el código de prueba que tenía, lo implementé en actor Texto y pude subirlo al repositorio.

También armé un ejemplo nuevo llamado “ancho_de_texto” que muestra cómo
funciona el atributo “ancho”:

Noooh!!! Buenísimo, papá!!!

Sos un genio, casáte conmigo!

Revivo el post para contarles que se me presentó la necesidad de centrar texto dentro del “marco-ancho”.

La tarea que parecía simple en un principio se fue poniendo dificil al intentar varios métodos sin éxito, ya que el ancho del texto varía según la tipografía, y en mi caso se trata de un actor texto que va recibiendo diferentes cadenas a mostrar.

después de muchos intentos, logré centrarlo con el siguiente código, aunque no es la solución perfecta:

# Centro los textos en la pantalla
# fijo el ancho/marco 
texto_personalizado.ancho = 900

#obtengo lo que mide (aproximadamente) el texto . el +10 es para corregir ligeramente.
factor = texto_personalizado.imagen.obtener_area_de_texto(texto_personalizado.texto)[0] + 10

#ubico la caja donde corresponde, siendo 450 el centro (ancho=900)  y restando el factor.
texto_personalizado.x = 450 - factor

Saludos!
Diego.

Actualizo el “código de centrado” a la versión que mejor me funcionó (teniendo en cuenta que mi juego utiliza distintos textos, desde una sola palabra a oraciones completas) y la idea es qué el código centre dicho texto sin importar su longitud. Otra complijidad que existe es que cada letra tiene un “ancho” distinto entonces el factor se va afectado, digamos no podemos utilizar Count para guiarnos por la cantidad de caracteres del texto. Lo que mejor funcionó lidiando con estos problemas se los comparto a continuación. Saludos.

    # Centro los textos en la pantalla
    factor = texto_personalizado.imagen.obtener_area_de_texto(texto_personalizado.texto)[0] + 10
    if (factor > 100) and (factor < 200):
        factor += 30
    if (factor > 200):
        factor += 50
    texto_personalizado.x = 450 - factor
    sombra_texto_personalizado.x = 450 - factor
1 Like