Buenas, he estado viendo tu código y la verdad que no entiendo mucho. Yo hago las cosas de forma diferente y me pierdo un poco con el sistema que tú usas.
No veo que el problema del salto de línea sea tan importante como tu dices, creo que sería más interesante de momento crear un código que te permita optimizar tu sistema, en vez de tener que crear todo de nuevas cada vez.
De todas formas, para ese tema del salto de línea, una solución que se me ocurre es:
- establecer en una constante el máximo de caracteres que tiene tu línea.
- y en otra variable los caracteres que lleva la línea hasta ese momento.
- dividir tu frase en palabras mediante un array. Por ejemplo
"Es peligroso ir solo" => fraseArray("es","peligroso","ir","solo")
- crear una función que compare la longitud de cada palabra con el número de caracteres que faltan por poner en la línea.
Código as3:
Ver original//Poner en una variable la cantidad de caracteres que quedan
var difChar:int = totalChar - actChar;
//Comparar palabra por palabra si cabe en esa línea
if(fraseArray[i]<= difChar){
//Si lo es, dividir la palabra en letras y aplicar la función de que vayan saliendo
mostrarDialogo(fraseArray[i]);
}else{
//Si no cabe, cambiar de línea y repetir el proceso
}
Y luego es cuestión de ir puliéndolo. Si me aceptas el consejo, no quieras avanzar tan rápido, preocúpate primero de ir teniendo todo bien cerrado y sobretodo optimizado antes de pasar a lo siguiente