![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Guest
Сообщений: n/a
|
Задача в том, чтобы переносить слова, которые не умещаются в строке не целиком, а только по кусочкам, которые не помещаются по ширине текстового поля. Например, если в слове «бесконечность» не помещается только последняя буква, то в первой строке должно остаться «бесконечност» а во вторую перенестись только «ь».
![]() |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
|
|
|||||
|
Guest
Сообщений: n/a
|
Возможно я не точно сформулировал проблему.
Вариант с "wordWrap" работает только если слово одно, и просто некуда деваться, если будет например то будет простой перенос по словам, а не по ширине поля ((( |
|
|||||
|
Привет!
Это извращение, но цель достигнута: var txt:TextField = createTextField("txt", getNextHighestDepth(), 10, 10, 120, 60); var str:String = "трали вали Бесконечность"; var n:Number = 15; txt.border = true; txt.wordWrap = true; for (var i = 0; i<str.length; i++) { txt.text += str.substr(i, 1); if (txt.textHeight>n) { txt.text = str.substr(0, i); txt.text += "\n"; txt.text += str.substr(i, 1); n += n; } } |
|
|||||
|
Guest
Сообщений: n/a
|
Здоров.
Спасибо, идея ясна. Жаль если нелья решить по другому (а то текста много). Кстати, исправил несколько помарок: var txt:TextField = createTextField("txt", getNextHighestDepth(), 10, 10, 70, 95); var str:String = "трали вали Бесконечность трали вали Бесконечность трали вали"; var n:Number = 15; var d:Number = 0; //d учитывает новые символы \n txt.border = true; txt.wordWrap = true; for (var i = 0; i<str.length; i++) { txt.text += str.substr(i, 1); if (txt.textHeight>n) { txt.text = txt.text.substr(0, i+d++);//а не из str txt.text += "\n"; txt.text += str.substr(i, 1); n = txt.textHeight; } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 20:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|