![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2005
Сообщений: 10
|
Добрый день, уважаемые.
Обращаюсь к вам с такой проблемой. Сам я к флэшу не имею никакого отношения, но понадобилось сделать такую вещь. Буду очень благодарен если укажете в каких направлениях нужно копать. Задача такова: флэшке через FlashVars передается 2 параметра (текст) и эти два текста нужно скомпоновать следующим образом: ----------- | текст 1 | ----------- | текст 2 | ----------- Нашел что это можно сделать примерно так: _root.createTextField("mytext",1,10,10,300,100); mytext.multiline = true; mytext.wordWrap = true; mytext.border = false; mytext.text = "my text here"; Как я понимаю, что возможно расположить текстовые блоки только по абсолютным координатам. Отсюда вопрос: 1. Как можно грамотно определить координаты для второго блока? (то есть нужно чтобы для данного шрифта произвелся рендеринг первого блока и можно было узнать сколько реально занял этот текстовый блок по высоте) 2. Может есть какие другие способы компоновки динамического текста? (может что-нибудь наподобие LayoutManager'ов Java?) 3. Как для заданного шрифта узнать сколько будет занимать заданная строка по ширине? |
|
|||||
|
4AM Games
|
ммм... как насчет свойства autoSize=true, сначала вставить текст в первый блок, после чего он автоматом поправиться, а потом уже позиционировать второй.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Регистрация: Jun 2005
Сообщений: 10
|
так вот проблема то именно в том, куда позиционировать второй?
|
|
|||||
|
Регистрация: Jun 2005
Сообщений: 10
|
Цитата:
А по поводу вопроса №3? |
|
|||||
|
4AM Games
|
TextFormat.getTextExtent()
Кстати на этом форуме считаеться хорошим тоном читать хелп =)
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
TextField.textHeight TextField.textWidth |
|
|||||
|
Регистрация: Jun 2005
Сообщений: 10
|
Цитата:
Это на всех форумах считается хорошим тоном. Но к сожалению за полдня это нереально поднять тучу толковых доков, разобраться в абсолютно незнакомой технологии и найти что нужно... |
|
|||||
|
4AM Games
|
на всякий случай, на будущее выложу код, чтоб понятно было
function createText(name:String):TextField {
this.createTextField(name,this.getNextHighestDepth(),0,0,0,0);
this[name].autoSize=this[name].border = true;
return this[name];
}
var text1_str:String = "boo \nboooo \nbobo";
var text2_str:String = "baba \nbubu \nbibuba";
createText("text1_txt");
this.text1_txt.text=text1_str;
createText("text2_txt");
text2_txt._y = this.text1_txt._x+this.text1_txt._height;
text2_txt.text=text2_str;
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:34. |
|
|
« Предыдущая тема | Следующая тема » |
|
|