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

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

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

Регистрация: Aug 2011
Сообщений: 8
Question auto-read

Подскажите, пожалуйста, как сделать чтобы текст с применением HTML-форматирования появлялся по одной букве.
Как это сделать для обычного текста с помощью charAt() я знаю, но появилась необходимость выделять слова в тексте.

Код AS1/AS2:
txt.htmlText="<u>myVariable</u> - это имя созданной вами переменной.";
Нужно, чтобы каждая буква появлялась с заданным ей форматированием:
myVari
myVariable - это имя созданной вами переменной.

Подскажите решение или альтернативу

Старый 28.09.2011, 07:21
stantler вне форума Посмотреть профиль Отправить личное сообщение для stantler Найти все сообщения от stantler
  № 2  
Ответить с цитированием
stantler
 
Аватар для stantler

Регистрация: Apr 2011
Адрес: Томск
Сообщений: 57
Код AS1/AS2:
var str:String = "<u>myVariable</u> - это имя созданной вами переменной.";
txt.htmlText = "";
txt.html = true;
var len:Number = str.length;
var i:Number = 0;
while (i<len)
{
   var char = str.charAt(i);
   // Если попался символ начала тэга, то ищем конец тэга и все, что между ними добавляем.
   if (char == "<") 
   {
      var index = str.indexOf(">",i);
      char = str.substring(i,index);
      // И переходим за символ конца тэга.
      i = index;
   }
   txt.htmlText += char;
   i++;
}

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

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Красиво, только наверное, для постепенного вывода не while, а что-то типа onEnterFrame или setInterval нужно?
И нужно учесть теги полностью, чтобы текст выводился согласно html-форматированию.
Вот тут как раз сложность - нужно анализировать для каждого выводимого символа , между какими тегами он заключен и выводить его соответственно...
__________________
Идите первым!


Последний раз редактировалось mooncar; 28.09.2011 в 08:00.
Старый 28.09.2011, 09:52
Flablex вне форума Посмотреть профиль Отправить личное сообщение для Flablex Найти все сообщения от Flablex
  № 4  
Ответить с цитированием
Flablex

Регистрация: Aug 2011
Сообщений: 8
Это не совсем то что мне надо.
Размещаю исходник, дабы показать как это примерно должно выглядеть(прошу сильно не пинать).
Желательно ответ тоже с исходником.
Вложения
Тип файла: zip auto-read.zip (6.1 Кб, 27 просмотров)

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

Регистрация: Apr 2011
Адрес: Томск
Сообщений: 57
Цитата:
Сообщение от mooncar Посмотреть сообщение
Красиво, только наверное, для постепенного вывода не while, а что-то типа onEnterFrame или setInterval нужно?
И нужно учесть теги полностью, чтобы текст выводился согласно html-форматированию.
Вот тут как раз сложность - нужно анализировать для каждого выводимого символа , между какими тегами он заключен и выводить его соответственно...
Да, я думал насчет setInterval, просто решил ради примера сделать так.

А в чем именно сложность тэгов? Ведь текст появляется слева на право, если встречается тэг, то его полностью и добавляем + один следующий символ. Т.к. тег не закрыт, то он будет применяться ко всем остальным символам, пока его не закроют или пока другой тэг не перекроет.

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

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

Однако, в том виде, который вы привели, код не выводится так, что будет работает html-форматирование.
Тому причиной, если я не ошибаюсь, то, что свойство htmlText необходимо применять к текстовому полю сразу целиком.

Вот так будет работать:
Код AS1/AS2:
var str:String = '<u>myVariable</u> — это имя созданной вами переменной.';
var strToPrint:String = '';
txt.htmlText = '';
txt.html = true ;
var len:Number = str.length ;
var i:Number = 0;
 
this.onEnterFrame = function()
{
   var char = str.charAt(i);
   // Если попался символ начала тэга, то ищем конец тэга и все, что между ними добавляем.
   if (char == '<') 
   {
      var index = str.indexOf('>', i);
      char = str.substring(i, index + 1);
      // И переходим за символ конца тэга.
      i = index;
   }
   strToPrint += char;
   txt.htmlText = strToPrint;
   i++;
};
Вложения
Тип файла: rar Постепенный вывод html-текста.rar (6.4 Кб, 30 просмотров)
__________________
Идите первым!


Последний раз редактировалось mooncar; 29.09.2011 в 12:03.
Старый 29.09.2011, 12:51
stantler вне форума Посмотреть профиль Отправить личное сообщение для stantler Найти все сообщения от stantler
  № 7  
Ответить с цитированием
stantler
 
Аватар для stantler

Регистрация: Apr 2011
Адрес: Томск
Сообщений: 57
Цитата:
Сообщение от mooncar Посмотреть сообщение
Тому причиной, если я не ошибаюсь, то, что свойство htmlText необходимо применять к текстовому полю сразу целиком
Насчет этого не знал. Спасибо

Старый 29.09.2011, 18:08
Flablex вне форума Посмотреть профиль Отправить личное сообщение для Flablex Найти все сообщения от Flablex
  № 8  
Ответить с цитированием
Flablex

Регистрация: Aug 2011
Сообщений: 8
Большое спасибо за помощь, это как раз то что надо!

Старый 29.09.2011, 18:14
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 9  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Что характерно - такой вывод текста нафик никому не нужен...
Если текста много - то это юзера будет бесить и раздражать. Если мало - проще тупо маской сделать ручками...
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

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

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

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


 


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


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