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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 24.03.2009, 15:04
tikhop вне форума Посмотреть профиль Отправить личное сообщение для tikhop Найти все сообщения от tikhop
  № 12  
Ответить с цитированием
tikhop

Регистрация: Jul 2006
Сообщений: 170
Не буду создавать новую тему, опишу свою проблему в этой теме...

Есть цикл который обрабатывает xml и создает комментарии:

Код AS3:
for each(var item:XML in _commentLoader.comments.children())
{
 
	var msg:String=item.toString();
 
	var userName:String=item.@user_name;
 
	var date:String=item.@date;
 
	var lvl:String=lvl;
 
	var avatar:String=item.@avatar;
 
	var pic:String=item.@pic;
 
 
	var mes:MessagePattern=new MessagePattern(userName, date, lvl, avatar, pic, msg);
	_commentsContainer.addChild(mes);
 
	trace("prevMesHeight", mes.height); // всегда выводит стандартный размер (не измененный, хотя он меняется) 	
 
	trace("///////////////////////////////");
 
}
Вот класс MessagePattern:

Код AS3:
........
public function MessagePattern(userName:String, date:String, lvl:String, avatar:String, pic:String, msg:String)
{
	super();
 
        .......
 
        _messageField=new TextField();
        addChild(_messageField);
        _messageField.x=9;
        _messageField.y=43;
	_messageField.width=278;
	_messageField.height=0;
	_messageField.autoSize="left";
	_messageField.border=true;
	_messageField.wordWrap=true;
	_messageField.text=msg;
 
        trace("_messageField.textHeight", _messageField.textHeight); //Всегда выводит 12, хотя должны быть всегда разные значения...
 
}
Мне нужно добиться, чтоб trace("_messageField.textHeight", _messageField.textHeight); показывал правильное значение и после чего добовлять комментарий (MessagePattern) в контейнер ( _commentsContainer.addChild(mes); ), какая должна быть логика?

Просто странно, если написать такой код, то трайс всегда показывает верное значение:

Код AS3:
var tf:TextField=new TextField();
tf.autoSize="left";
tf.width=100;
tf.multiline=true;
tf.wordWrap=true;
tf.text="dkskfldskl fk;dlskf l;dskl;f kdsl;kfl ;dskl;f kdls;kf l;dskfl;kdsl; kfl;dskf l;kds l;fkl;dskfldskf;ldskf;";
var s:Sprite=new Sprite();
//s.addChild(tf);
//addChild(s);
trace(tf.textHeight); трайс всегда показывает верное значение
Добавлено через 11 часов 16 минут
проблема решилась после того как я убрал одну строчку _messageField.height=0;

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

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

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


 


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


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