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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

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

Регистрация: Jun 2004
Адрес: Украина, Донецк
Сообщений: 10
По умолчанию Формулы в текстовом поле - верхние/нижние индексы? (xml/html/css, тег <img>)

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

у меня были следующие варианты:

0) рисовать формулы во флеше целиком неприемлемо, т.к. предполагается, что тексты будут загружаться динамически и готовить их будут люди плохо знакомые с флешом (а именно это должны быть XML-тексты)

1) вставлять сложные элементы формул (которые заготовить заранее) в виде картинок в текстовое поле с html форматированием,
НО !!! флешовый тег <img> очень странно позиционируется в тексте,
а именно align у него может быть либо 'left', либо 'right' и все, то есть картинка может быть прижата либо к левому краю текстового поля, либо к правому!

<img src="smile" align='left' width='18' height='18' hspace='10' vspace='-100'/>

/примечание/ некоторых результатов по позиционированию картинок можно добится если размещать их в самом конце текста слева и манипулировать атрибутами hspace>0 и vspace<0, но это совсем не то что нужно !!!

2) использовать HTML-like форматирование
в html есть такие теги: SUB SUP, с помощью которых можно в некоторой степени сделать то что требуется (неприятность возникает когда к основному символу необходимо дописать над- и под- строчные элементы ОДНОВРЕМЕННО).

К СОЖАЛЕНИЮ :-( флеш эти (SUB,SUP) теги не поддерживает!!!

поэтому

3) можно попробовать воспользоваться таблицами стилей
для XML/HTML форматирования

var style1 = new TextField.StyleSheet();
...
txt.styleSheet=style1;
txt.text=
"M<span class="sub">i</span> = M<sub>i-1</sub><sup>k</sup> + U<sup>i-1</sup>";

в которых определить нехватающие нам SUB SUP либо в виде классов, либо в виде новых тегов (второе удобнее так как занимает меньше места)

sub {
font-family: Arial, Helvetica, sans-serif;
font-size: 8;
font-style:italic;
color: #ff7733;
display: inline
}
sup {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
font-weight: bold;
color: #ffd441;
display: inline

}
.sub {
font-family: Arial, Helvetica, sans-serif;
font-size: 8;
font-style:italic;
color: #889933;
display: inline
}
.sup {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
font-weight: bold;
color: #1Dd441;
display: inline
}

после чего в нашем тексте пользоваться этим как-то так:
формула M<span class="sub">i</span> = M<sub>i-1</sub><sup>k</sup> + U<sup>i-1</sup>;

!!! здесь проблема в том что в подмножестве CSS2, поддерживемом флешовым StyleSheet слыхом не слыхивали о vertical_align, то есть SUB и SUP по прежнему отсутствуют.

Правда с помощью италика и уменьшенного размера шрифтов удалось сделать подстрочник (SUB) более менее приемлемым, но вот надстрочник .... :-(((

Итого: проблема частично решена - для подстрочников
(к тому остается вариант с полностью нарисованными формулами в виде внешних .jpg - но это конечно бред полный )

Поэтому - поможите чем сумеете !!!

PS: и, к стати, насчет тега <img> присутствующего в местном диалекте html - в документации написано, что если дать ему ID
<img src="smile" id="smile" align='left' width='18' height='18' hspace='10' vspace='10'/>
то можно из ActionScripta получить к нему доступ и все такое - так вот - доступ то я получить смог, но вот не атрибутов поменять не обработчика навесить на эти мувиклипы не смог (это я в танку или где???)

Пример (текстовое поле называется o_txt)
trace(_root.o_txt.smile._x); //вот это замечательно все показывает
_root.o_txt._x++; // а вот это ничего не изменяет
_root.o_txt.smile.onPress=doSomething; // ну и это тоже не работает

У кого нибудь получилось?

Старый 08.07.2004, 20:29
Xelas Kac вне форума Посмотреть профиль Отправить личное сообщение для Xelas Kac Посетить домашнюю страницу Xelas Kac Найти все сообщения от Xelas Kac
  № 2  
Xelas Kac

Регистрация: Jul 2003
Адрес: Россия, г. Москва
Сообщений: 10
Отправить сообщение для Xelas Kac с помощью ICQ
Пока писал диплом тоже размышлял о создании аналогичного генератора формул. Пришел к созданию собственного movie-генератора, т.е. когда даешь строку, описывающюю формулу, она разбирается, и из библиотеки соответствующие клипы собираются в формулу. Тут уж хоть интегралы/дроби можно рисовать. На php такие штуки есть, генерят картинки. Я реализовать не успел, да и так оказалось всем до лампочки на проделанную работу .

Старый 08.07.2004, 20:46
Елё вне форума Посмотреть профиль Отправить личное сообщение для Елё Посетить домашнюю страницу Елё Найти все сообщения от Елё
  № 3  
Елё
 
Аватар для Елё

Регистрация: Jun 2002
Адрес: Москва
Сообщений: 287
Отправить сообщение для Елё с помощью Skype™
наверное можно фонт свой сделать.
символы которого будут раскологаться вверху/внизу
или поискать, наверняка такой есть
и после этого менять textFormat

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

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

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


 


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


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