Autor Tema: text_width  (Leído 2138 veces)

Packo_z007

  • Jr. Member
  • **
  • Mensajes: 90
  • Karma: 3
text_width
« en: Septiembre 29, 2008, 09:49:02 pm »
Hola.. me gustaria sugerir la inclusion de una funcion similar a TEXT_WIDTH pero que en vez de devolver el ancho en pixeles de un texto, devuelva el numero de caracteres en un determinado espacio. Por ejemplo:

int Text_width(fuente,cadena,ancho en pixeles);

De esta forma se podria saber cuantos caracteres entran en 600 pixeles por ejemplo. Si bien esto se puede aproximar definiendo el ancho promedio (o maximo) de los caracteres , esto no es para nada preciso. No es lo mismo una cadena llena de "W" que una llena de "I".
La idea es usarlo para hacer textos multilinea.
Gracias
[STRING] *PANIC Too many strings, allocating more space

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12837
  • Karma: 377
Re: text_width
« Respuesta #1 en: Septiembre 29, 2008, 10:07:05 pm »
esto se puede precalcular por codigo bennu... no se si es la mejor sintaxis, pero bien... anotada la sugerencia para analizar bien factibilidad... gracias...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

HaCkZJuaNN

  • Full Member
  • ***
  • Mensajes: 179
  • Karma: 5
Re: text_width
« Respuesta #2 en: Septiembre 30, 2008, 02:02:26 pm »
puestos a sugerir, más que esa función yo propondría una más directa, aunque no sé si será realmente factible incluirla en bennu, pero ahorraría muuuchos problemas con lo que dices tú, los textos multilínea.

La idea sería write_in_space(fuente,x,y,alineacion,cadena,ancho), que funciona exactamente igual que write, devolviéndote un identificador ÚNICO de texto(aunque ocupe varias líneas) y que te escribe el texto de tal manera que ocupe el ancho en pixels que le has dicho o menos y que no deje palabras cortadas. En mi opinión sería ideal, porque si lo haces por código bennu tienes que andar con varios identificadores de texto, contando los caracteres para ver dónde cortas una cadena y donde empiezas la siguiente, y si luego quieres hacer un juego en varios idiomas vienen los problemas, porque no ocupan lo mismo, y supongo que no sería excesivamente complicado de hacer.

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12837
  • Karma: 377
Re: text_width
« Respuesta #3 en: Septiembre 30, 2008, 02:33:13 pm »
podria ser interesante...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Packo_z007

  • Jr. Member
  • **
  • Mensajes: 90
  • Karma: 3
Re: text_width
« Respuesta #4 en: Septiembre 30, 2008, 04:26:37 pm »
Si la verdad seria mucho mas interesante.. me adhiero a HaCkZJuaNN
[STRING] *PANIC Too many strings, allocating more space

Danielo515

  • Sr. Member
  • ****
  • Mensajes: 480
  • Karma: 4
    • Blog del Blogbo
Re: text_width
« Respuesta #5 en: Octubre 01, 2008, 09:34:39 am »
Ja ja, super super interesante. Anda que no me habría ahorrado quebraderos de cabeza una función como esa cuando hize mi juego de preguntas clon del 50X15 ¡hubiera sido sencillamente genial! un voto más para esa función. Hung,hung,hung.

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12837
  • Karma: 377
Re: text_width
« Respuesta #6 en: Octubre 01, 2008, 09:54:55 am »
anotadas las sugerencias para versiones futuras...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

juanpe

  • Jr. Member
  • **
  • Mensajes: 67
  • Karma: 2
Re: text_width
« Respuesta #7 en: Abril 06, 2009, 10:30:23 pm »
  Hombre, veo que no soy el único con este problema :o me gustaría saber si se ha creado esta función ya, pues yo había optado por hacer unos gráficos que contengan los textos escritos desde el editor gráfico, pero esta opción sería mucho mejor. vaya, ya que había convencido a mi novia para que me lo hiciera, jaja.