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

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

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

Регистрация: Jun 2007
Сообщений: 9
По умолчанию форматирование текста

как разместить текст (привязанный из файла тхт) в две колонки, чтобы он перетекал из одной в другую?

Старый 12.06.2007, 07:00
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Только вручную. Надо создать два текстовых поля. Например txtA и txtB. И с помощью следущего класса
Код:
/**
* @author iNils
* @version 1.0
* 
* Класс TextSetColumn позволяет заполнить несколько текстовых поляй текстом, имитирую колоночный текст.
*/

class ru.inils.text.TextSetColumn {
	/**
	* Метод, заполняющий колонки текстом.
	* Метод работает только с обычным (не html) текстом.
	* 
	* @param	str - Текст, которым необходимо заполнить колонки
	* @param	array - Массив, содержащий ссылки на текстовые поля (колонки)
	* @return	String - Остаток невместившегося текста. Если помеcтился весь текст, то результатом будет null.
	*/
	public static function setText (str:String, array:Array):String {
		var arrayText:Array = str.split (" ");
		var n:Number = 0;
		var dx:Number = 0;
		var strTemp:String = "";
		var strBuffer:String = "";
		for (var i:Number = 0; i < arrayText.length; i += dx++) {
			strTemp = array[n].text;
			strBuffer = "";
			for (var j:Number = i; j < i + dx; j++) {
				if (j == arrayText.length) {
					break;
				}
				strBuffer += arrayText[j] + (j < arrayText.length - 1 ? " " : "");
			}
			array[n].text += strBuffer;
			if (array[n].textHeight > array[n]._height - 4 && dx > 1) {
				array[n].text = strTemp;
				dx = 0;
			} else if (array[n].textHeight > array[n]._height - 4) {
				array[n++].text = strTemp;
				if (array[n]) {
					i--;
				} else {
					return str.substring (array[n - 1].text.length);
				}
			}
		}
		return null;
	}
}
разбить текст по колонкам
Код:
import ru.inils.text.TextSetColumn;
TextSetColumn.setText ('Роберт Кубица выписался из монреальского госпиталя Sacre-Couer и надеется принять участие в Гран При США...\nРоберт Кубица: "Вы видите (обращаясь к журналистам), я в хорошей форме, жив, здоров и общаюсь с вами. Я хорошо себя чувствую, в Канаде мне действительно повезло — я посмотрел запись аварии, она выглядит гораздо серьезнее, чем я мог себе представить. Травм нет и в конце недели я надеюсь выйти на старт гонки в Индианаполисе".', [txtA, txtB]);
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 12.06.2007 в 07:09.
Создать новую тему Ответ Часовой пояс GMT +4, время: 02:38.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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