Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.05.2011, 01:10
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 11  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Код AS3:
			var tf:TextField = new TextField();
			tf.text = "Коллективное владение кодом позволяет каждому разработчику выдвигать новые идеи в любой части проекта, изменять любую строку программы, добавлять функциональность, фиксировать ошибку и проводить реорганизацию. Один человек просто не в состоянии удержать в голове проект нетривиальной системы. Благодаря коллективному владению кодом снижается риск принятия неверного решения (главным разработчиком) и устраняется нежелательная зависимость проекта от одного человека."
			tf.width = 200;
			tf.wordWrap = true;
			trace("tf.numLines: " + tf.numLines);
			trace("tf.textHeight: " + tf.textHeight);
			trace("tf.length: " + tf.length);
			trace("tf.getLineLength(0): " + tf.getLineLength(0));
			trace("tf.getParagraphLength(0): " + tf.getParagraphLength(0));
			trace("tf.bottomScrollV + tfText.maxScrollV - 1: " + String(tf.bottomScrollV + tf.maxScrollV - 1));
 
/*tf.numLines: 1
tf.textHeight: 240
tf.length: 465
tf.getLineLength(0): 28
tf.getParagraphLength(0): 465
tf.bottomScrollV + tfText.maxScrollV - 1: 16*/
tf.numLines: 1 - видимо таки энтеры считает
Ну пробуй значит вот это тогда:
Код AS3:
tf.bottomScrollV + tfText.maxScrollV - 1
Вроде правильно выводит.

Добавлено через 1 минуту
да, вставил ентер в строку один, теперь говорит что две линии. Так что видимо tf.numLines следует понимать как количество паграфов.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 08.05.2011, 02:53
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 12  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Flex? Спасибо, не балуюсь. Это был обычный проект для FlashDevelop. Но если есть сложности в подключении одного класса к проекту во Flash IDE, вот вам идешный. Заодно на ровном месте поиграетесь с подключением шрифта, который почему-то указан внедренным, хотя гарнитура берется из xml. Ну да все возможно.

Dukobpa3
multiline свойство
Показывает, является ли текстовое поле многострочным. Значение по умолчанию false.
numLines свойство
Определяет число строк текста в многострочном текстовом поле.
Если свойство wordWrap имеет значение true, то при переносе текста количество строк увеличивается.
Вложения
Тип файла: rar NumLines.rar (8.6 Кб, 58 просмотров)
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 08.05.2011 в 03:48.
Старый 08.05.2011, 03:45
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 13  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Ваш код тоже нормально показывает число строк и символов в строке.
Вложения
Тип файла: rar NumLines2.rar (10.1 Кб, 63 просмотров)
__________________
Reality.getBounds(this);

Старый 08.05.2011, 10:52
niks_13 вне форума Посмотреть профиль Отправить личное сообщение для niks_13 Найти все сообщения от niks_13
  № 14  
Ответить с цитированием
niks_13

Регистрация: Mar 2009
Адрес: Москва [СЗАО]
Сообщений: 107
Цитата:
Сообщение от Dukobpa3 Посмотреть сообщение
Ну пробуй значит вот это тогда:
Код AS3:
tf.bottomScrollV + tfText.maxScrollV - 1
Вроде правильно выводит.
Пробовал. Результат тот же - единица(

Wolsh
Я не понимаю тогда почему у меня не работает.
________________________________________
СДЕЛАЛ!
Вот как вызывается ф-ция загрузки текста:
Код AS3:
function callText():void
{
	var xmlTextList:XMLList;
		xmlTextList = xmlTitleList[i].children();
		for(j=0; j<xmlTextList.length(); j++)
		{
		     //<здесь идёт описание textField, как я писал парой постов выше>
                     //Здесь же я и хотел получить кол-во строк и разумеется 1 получал
 
                     //Здесь идут addChild'ы
                     // Перенёс сюда и всё работает
                trace(tfText.length);
		trace(tfText.numLines);
		trace(tfText.getLineLength(0));
		trace(tfText.getParagraphLength(0));
		trace(tfText.bottomScrollV + tfText.maxScrollV - 1);
		}		
}

Фуф, ура! Спасибо огромное всем за помощь и терпение! =)

А теперь самое интересное: как узнать кол-во строк, отображаемых в textField без прокрутки? Ну то есть 712 символов разумеется не влезают в textField полностью и чтобы остальное увидеть - надо скроллировать textField. Так вот как узнать кол-во видимых строк?
Согласно этому посту:
Цитата:
Сообщение от serenkiy Посмотреть сообщение
попробуйте воспользоваться тем, что 1 px = 0.7471763 pt.
Т.е. вы умножаете высоту на 0.7471763 и получаете искомый размер шрифта. Сейчас параллельно опробую идею у себя.
определяю так:
Код AS3:
tfText.height / (xmlTextList.attribute('textSize')[j] / 0.7471763)
но ответ мне возвращается 12.141614875, хотя если считать, водя пальцем по экрану, - строк должно быть 13.


Последний раз редактировалось niks_13; 08.05.2011 в 13:05.
Старый 08.05.2011, 14:00
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 15  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
bottomScrollV
__________________
Reality.getBounds(this);

Старый 08.05.2011, 15:53
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 16  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Я конечно хз, но зачем такая привязка к строкам? Я обычно обходился textHeight|textWidth, и вообще без бубна.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 08.05.2011, 16:36
niks_13 вне форума Посмотреть профиль Отправить личное сообщение для niks_13 Найти все сообщения от niks_13
  № 17  
Ответить с цитированием
niks_13

Регистрация: Mar 2009
Адрес: Москва [СЗАО]
Сообщений: 107
Wolsh
Спасибо, всё гениальное просто)))

Dukobpa3
Так надо))

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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