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

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

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

Регистрация: Jul 2007
Сообщений: 42
По умолчанию Динамический текст разного цвета, в одном текстовом поле

Доброго всем времени суток. Вопрос мелкий, но фиг знает как сделать. В первом текстовом поле есть слово "Артикул: ", оно красное. Это слово передаётся в переменную "n". Второе текстовое поле чёрного цвета, к его тексу присоединяется переменная "n". Присоединятся-то присоединяется, а вот красный цвет, естественно меняется на чёрный. Можно-ли присоединить один текст к другому, без изменения форматирования первого? Или же, возможно сделать два форматирования текста, в одом текстовом поле?

Код:
...
this.createTextField("my_txt", this.getNextHighestDepth(), 100, 100, 300, 100);
	var my_fmt:TextFormat = new TextFormat();
		my_fmt.color = 0xff0000;
		n = my_txt.text="Артикул: ";
		my_txt.setTextFormat(my_fmt);
...
this.createTextField("one_txt", this.getNextHighestDepth(), 20, 20, 100, 110);
	with (one_txt) {
		border = true;
		autoSize = true;
	}
	var one_format:TextFormat = new TextFormat();
		one_format.color = 0x000000;
		one_txt.text = n+this.Artikul;
		one_txt.setTextFormat(one_format);
...

Старый 09.05.2008, 22:02
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Или же, возможно сделать два форматирования текста, в одом текстовом поле?
public setTextFormat([beginIndex:Number], [endIndex:Number], textFormat:TextFormat) : Void

Старый 09.05.2008, 22:06
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 3  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Вот так
Код:
 
...
this.createTextField("my_txt", this.getNextHighestDepth(), 100, 100, 300, 100);
 var my_fmt:TextFormat = new TextFormat();
  my_fmt.color = 0xff0000;
  n = my_txt.text="Артикул: ";
  my_txt.setTextFormat(my_fmt);
...
this.createTextField("one_txt", this.getNextHighestDepth(), 20, 20, 100, 110);
 with (one_txt) {
  border = true;
  autoSize = true;
 }
 var one_format:TextFormat = new TextFormat();
  one_format.color = 0x000000;
  one_txt.text = n+this.Artikul;
  one_txt.setTextFormat(0, n.length-1,my_fmt);
  one_txt.setTextFormat(n.length-1, one_format);
...

Старый 09.05.2008, 22:26
Дружище вне форума Посмотреть профиль Отправить личное сообщение для Дружище Найти все сообщения от Дружище
  № 4  
Ответить с цитированием
Дружище

Регистрация: Jul 2007
Сообщений: 42
Спасибо Udaaff и Alekslitvinenk!

Старый 09.05.2008, 23:04
Дружище вне форума Посмотреть профиль Отправить личное сообщение для Дружище Найти все сообщения от Дружище
  № 5  
Ответить с цитированием
Дружище

Регистрация: Jul 2007
Сообщений: 42
Alekslitvinenk!, Вы, немного не точно применили форматирование ко второму текстовому полю. Вот смотрите:

Код:
one_txt.setTextFormat(n.length-1, one_format);
Текст, действительно закрасился в красно-чёрный цвет. Только вышеизложенный код не устанавливает формат цвета для второго текстового поля. Чёрное, оно по умолчанию. А применить формат можно вот этим кодом

Код:
one_txt.setTextFormat(one_format);
Т.е. в моём примере необходимо было добавить лишь одну строчку кода, которая форматирует текст первого текстового поля. Причём требование должно быть такое: сначала идёт setTextFormat текстового поля one_format

Код:
one_txt.setTextFormat(one_format);
one_txt.setTextFormat(0, n.length-1,my_fmt);


Последний раз редактировалось Дружище; 09.05.2008 в 23:22.
Старый 09.05.2008, 23:31
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 6  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Вобщето, я ничего не понял
Я просто удалил последнюю строчку в вашем коде и добавил две других для форматирования текстового поля по частям, сначала форматирования слова "Артикул" а затем для всего остального текста в текстовом поле.

Старый 11.05.2008, 00:26
Дружище вне форума Посмотреть профиль Отправить личное сообщение для Дружище Найти все сообщения от Дружище
  № 7  
Ответить с цитированием
Дружище

Регистрация: Jul 2007
Сообщений: 42
alekslitvinenk смотрите, one_format должен форматировать текст за словом "Артикул" в чёрный (или в люой другой установленный) цвет. Но текст за словом "Артикул" не форматируется никак. Я пробовал менять цвет в one_format, бесполезно, лишь поменяв две последние строчки (которые добавили Вы) и в верхней убрал все парамметры кроме названия форма, всё заработало.

Код:
one_txt.setTextFormat(one_format);
one_txt.setTextFormat(0, n.length-1,my_fmt);
Пробую сделать такую вещь. В текстовое поле выводится строка. "Артикул" и "Наименование" красные, а "1000" и "Статуэтки" зелёные.

"Артикул 1000
Наименование Статуэтки"

Всё в одном тестовом поле. Пока что не выходит. Есть идея сделать форматирование при помощи html и загрузить всё в динамическое текстовое поле. Слышал что так можно сделать. Буду проверять. Если можете подсказать, не откажусь от совета.

Старый 11.05.2008, 00:58
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 8  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Желательно для "Артикул" , "Наименование", "1000" и "Статуэтки" предусмотреть отдельные строковые переменные и затем выполнить форматирование текстового поля 4 раза используя свойство length этих строковых переменных для вычичления начальных и конечных индексов форматирования.
Первый раз, конечно, можно отформатировать сразу всю строку целиком.

Старый 11.05.2008, 01:04
Mnilionic вне форума Посмотреть профиль Отправить личное сообщение для Mnilionic Найти все сообщения от Mnilionic
  № 9  
Ответить с цитированием
Mnilionic
 
Аватар для Mnilionic

Регистрация: Aug 2005
Адрес: я из Ленинграда
Сообщений: 1,082
Отправить сообщение для Mnilionic с помощью ICQ
что мешает рендерить текст как html и раскрашивать его тегами?
Код:
my_text.html = true;
my_text.htmlText = "<font color='#FF0000'>Артикул:</font> " + articul_value;
my_text.htmlText += "<font color='#00FF00'>Наименование:</font> " + name_value;


Последний раз редактировалось Mnilionic; 11.05.2008 в 01:07.
Старый 11.05.2008, 18:59
Дружище вне форума Посмотреть профиль Отправить личное сообщение для Дружище Найти все сообщения от Дружище
  № 10  
Ответить с цитированием
Дружище

Регистрация: Jul 2007
Сообщений: 42
alekslitvinenk, спасибо за подсказки!

Mnilionic, отлично, очень удобно форматировать текст с помощью тегов, в моём случае!

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

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

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


 


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


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