Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   TextField Кол-во строк (http://www.flasher.ru/forum/showthread.php?t=138597)

Александр 11.04.2010 22:06

TextField Кол-во строк
 
Всем привет!
как узнать колво строк в тексте?
есть numLines,
но если стоит авто перенос (multiline,wordWrap)
он всероно говорит 0!
Ой не ноль, а 1) но всеровно не сколько надо...

mickfallout 12.04.2010 01:53

Цитата:

numLines свойство
Определяет число строк текста в многострочном текстовом поле. Если свойство wordWrap имеет значение true, то при переносе текста количество строк увеличивается.
странно что не работает. у меня всё ок -
Код AS3:

var txt:TextField = new TextField();
txt.wordWrap = true;
txt.text = "13333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333" + '\n' + "1" + '\n' + "1" + '\n' + "1" + '\n' + "1" + '\n' + "1" + '\n' + "1" + '\n' + "1" + '\n' + "1" + '\n';
addChild(txt);
trace(txt.numLines);

выдает 16.

Александр 12.04.2010 15:16

хз ну если я поставлю символ конца строки, то да
показывает)

пишу так
Код AS3:

txt.wordWrap = true;
txt.text = "12345678987654321012345678987654321";
txt.width = 100;

Вывводит
Код AS3:

123456789
876543210
123456789
...

а numLines - 1...

Xero201 12.04.2010 15:23

Код AS3:

var txt:TextField = new TextField();
txt.wordWrap = true;
txt.text = "12345678987654321012345678987654321";
txt.width = 100;
addChild(txt);
trace(txt.numLines);//3 - все правильно


Александр 12.04.2010 15:34

Мистика)
если писать так, как ниже - то не работает)
нужно чтоб текст назначался до добавления

Код AS3:

var txt:TextField = new TextField();
txt.wordWrap = true;
txt.width = 100;
addChild(txt);
txt.text = "12345678987654321012345678987654321";
trace(txt.numLines);


Xero201 12.04.2010 15:41

работает хоть динамически добавлять, хоть нет.
Ищите и найдете (можете выложить, поищем вместе)
Кстати, создайте новый проект, и положите в него ваш код из последнего поста, у меня и он работает)

Александр 12.04.2010 16:06

А у меня работает, только если я в начале текст написал
хотяб так text='';
а потом могу менять) ну ладно - мне не сложно в текст ченить написать)
а ты в чем кодешь? я во ФлешДев

ПС еще хотел спросить как узнать отступ между строк
к премеру
_tf.height = _tf.numLines * (int(_tf.defaultTextFormat.size));

но size дает только размер шрифта, а мнеб с отступами?

Xero201 12.04.2010 16:14

Ну кодю я тоже в FD, но компилятор привязан к CS4.
Ох, лучше разберись почему не работает, а то потом боком вылезит.
На счет отступа между строк, смотри возможности flash.text.TextLineMetrics


Часовой пояс GMT +4, время: 13:31.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.