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

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

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

Регистрация: Nov 2010
Сообщений: 91
Question текстовое поле с высотой подстраивающейся под объем текста

доброе время суток!

написал такой кусок кода:

Код AS1/AS2:
myVars = new LoadVars();
myVars.cheat = true;
myVars.item = item_id;
 
myVars.onLoad = function(success){
    if(success){
		putText(myVars.description_short)
	}
	else{
		putText("Error connecting to server.");
	}
}
 
myVars.sendAndLoad("/", myVars, "POST");
 
function putText(receivedText){
	createTextField("cheated", 500, 0, 0, cheatWidth, 1000);
	cheated.type = "dynamic";
	cheated.text = receivedText;
	if(receivedText!="Error connecting to server."){
		cheated.textColor = 0x4C4C4C;
	}
	else{
		cheated.textColor = 0xFF0000;
	}
	var textFormatString:TextFormat = new TextFormat(); 
	textFormatString.font = "Tahoma";
	textFormatString.size = 12;
	cheated.setTextFormat(textFormatString);
}
сейчас в ф-цию createTextField я передаю высоту 1000 пикселей. если объем текста небольшой, то тогда будет свободное место. если текст большой - какая-то его часть исчезнет.

подскажите каким образом я могу сделать так что бы высота тестового поля всегда подбивалась под его объем, т.е. не было ни пустых мест и ни обрезания текста.

еще одна проблема - это то что swf-приложение я вставляю в html-код с помощью swfobject. там один из параметров это высота swf-приложение. т.е. мне нужно еще и правильно установить и это параметр, иначе приложение будет сплюснуто или растянуто.

подскажите как решить эту задачу.

заранее спасибо за помощь!

Старый 06.01.2013, 10:46
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Свойство TextField.autoSize чем-то не подходит для вашей задачи?
Код AS1/AS2:
cheated.multiline = true ;
cheated.autoSize = true ;
__________________
Идите первым!

Старый 06.01.2013, 16:44
syegorius вне форума Посмотреть профиль Отправить личное сообщение для syegorius Найти все сообщения от syegorius
  № 3  
Ответить с цитированием
syegorius

Регистрация: Nov 2010
Сообщений: 91
спасибо! а как тогда еще указать в swfobject высоту самого приложения так, что бы она подстраивалась под высоту тестового блока?

Старый 06.01.2013, 17:38
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Даже с помощью SWFObject этого не решить - публикация флешки не изменяется динамически, флеш-объект внедряется в DOM-структуру документа на все время ее работы с неизменными параметрами.

Простого решения нет.
Но есть пара соображений.
1. Использовать для текстового поля скроллер (можно взять готовые компоненты). Это предполгает фиксированную высоту текстовго поля и возможность прокрутки текста.
2. Использовать технологию reach-banner'ов (погуглите). Если в лоб - то перепубликовывать флешку с помощью метода ExternalInterface.call, передавая в JavaScript значение высоты текстового поля. Но это "не айс" - будет заметное дергание, да и вообще вам может не подойти.
2а - публиковать флешку с заранее большой высотой, и открывать / закрывать ее по мере надобности, передавая значение высоты с помощью ExternalInterface.call. Тут надо хорошо поработать с версткой и функциями JS.

PS. Замечание по оформлению. Предложения должны начинаться с больших букв, на форуме пишем по-русски.
__________________
Идите первым!

Старый 29.01.2013, 19:08
FRAG вне форума Посмотреть профиль Отправить личное сообщение для FRAG Найти все сообщения от FRAG
  № 5  
Ответить с цитированием
FRAG

Регистрация: Jan 2010
Сообщений: 26
Ну, еще как вариант: создать поле примерно в одну строку, скрыть его, поместить в него ваш текст, запустить цикл на проверку параметра maxscroll этого поля и увеличивать высоту поля до тех пор, пока maxscroll не станет равен единице.

Старый 29.01.2013, 20:43
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
FRAG, автору нужно было увеличивать размер самой флешки на странице.
А то, что пишете вы, делать не надо, поскольку есть
Код AS1/AS2:
cheated.multiline = true ;
cheated.autoSize = true ;
__________________
Идите первым!

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

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

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


 


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


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