Hmm - tjaa flash har ikke rigtigt noget der lige kan klare denne opgave på en nem og simpel måde... men her er mit bud på det:
var langTekst = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut eleifend est eu nulla. Nunc pulvinar, nulla nec vulputate mattis, lorem est aliquet enim, sit amet fringilla mauris libero quis dolor. Proin volutpat magna. Praesent sem eros, lacinia at, aliquam sed, lobortis quis, risus. Praesent quam. Sed eu arcu. Nulla iaculis porta est. Morbi laoreet. In id enim. Nulla suscipit, nibh in hendrerit vehicula, orci nisl mollis metus, non ornare justo pede id ligula. Vivamus vitae enim ut ipsum pharetra vehicula. Maecenas scelerisque diam. Aliquam ultricies sem sed pede. Vestibulum molestie. Proin interdum. Fusce volutpat augue sed enim. Aliquam erat volutpat. Curabitur magna sem, volutpat eu, pellentesque non, vestibulum quis, diam.";
function createNextTextField(name, depth, text, x, y, w, h){ this.createTextField(name, depth, x, y, w, h); var tf = this[name]; tf._x = x; tf._y = y; tf._width = w; tf._height = h; tf.border = true; tf.multiline = true; tf.wordWrap = true; tf.text = text; } function setupTextFields (text, textFormat, x, y, w, h){ var wordArr = text.split(" "); var end = 0; var txts = 0; var ntext; var ctext; var obj; for(var i=0;i<wordArr.length-1;i++){ ntext = wordArr.slice(end, i+1).join(" "); obj = textFormat.getTextExtent(ntext, w); if(obj.textFieldHeight > h){ ctext = wordArr.slice(end, i).join(" "); txts++; createNextTextField("txt"+txts, txts, ctext, x+(w+5)*(txts-1), y, w, h); end = i; } } txts++; ctext = wordArr.slice(end, wordArr.length).join(" "); createNextTextField("txt"+txts, txts, ctext, x+(w+5)*(txts-1), y, w, h);
} mtf = new TextFormat(); var tid1 = getTimer();
setupTextFields(langTekst, mtf, 0, 0, 100, 200);
trace("tid= "+(getTimer()-tid1));
Kan forklare koden lidt nærmere - hvordan man lige ændrer den og bruger den... Men prøv den og se om det er noget der kan bruges...
var langTekst = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut eleifend est eu nulla. Nunc pulvinar, nulla nec vulputate mattis, lorem est aliquet enim, sit amet fringilla mauris libero quis dolor. Proin volutpat magna. Praesent sem eros, lacinia at, aliquam sed, lobortis quis, risus. Praesent quam. Sed eu arcu. Nulla iaculis porta est. Morbi laoreet. In id enim. Nulla suscipit, nibh in hendrerit vehicula, orci nisl mollis metus, non ornare justo pede id ligula. Vivamus vitae enim ut ipsum pharetra vehicula. Maecenas scelerisque diam. Aliquam ultricies sem sed pede. Vestibulum molestie. Proin interdum. Fusce volutpat augue sed enim. Aliquam erat volutpat. Curabitur magna sem, volutpat eu, pellentesque non, vestibulum quis, diam.";
function createNextTextField(name, depth, text, x, y, w, h){ this.createTextField(name, depth, x, y, w, h); var tf = this[name]; tf.border = true; tf.multiline = true; tf.wordWrap = true; tf.text = text; } function setupTextFields (text, textFormat, x, y, w, h){ var wordArr = text.split(" "); var end = 0; var txts = 0; var ntext; var ctext; var obj;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.