![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: Jun 2004
Адрес: Украина, Донецк
Сообщений: 10
|
проблема в том, что я не смог придумать как в текстовых полях
флеша написать формулы с верхними и нижними индексами! у меня были следующие варианты: 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; // ну и это тоже не работает У кого нибудь получилось? |
|
|||||
|
Пока писал диплом тоже размышлял о создании аналогичного генератора формул. Пришел к созданию собственного movie-генератора, т.е. когда даешь строку, описывающюю формулу, она разбирается, и из библиотеки соответствующие клипы собираются в формулу. Тут уж хоть интегралы/дроби можно рисовать. На php такие штуки есть, генерят картинки. Я реализовать не успел, да и так оказалось всем до лампочки на проделанную работу
. |
|
|||||
|
наверное можно фонт свой сделать.
символы которого будут раскологаться вверху/внизу или поискать, наверняка такой есть и после этого менять textFormat |
![]() |
Часовой пояс GMT +4, время: 00:09. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|