![]() |
|
||||||||||
|
|
|
|||||
|
Написал класс для работы с хтмл-текстом (он где тот тут на форуме уже фигурировал).
Сейчас столкнулся с такой мулькой. У меня есть в этом классе набор методов: Вот собственно класс (поубирал лишние функции из кода, для моего вопроса этого достаточно, и работать будет, если кому скомпилировать охота) public class AdvTextField extends TextField { private static const HEX:String = "0123456789ABCDEF"; private var _htmlColor:String; private var _htmlFont:String; private var _htmlSize:String; private var _htmlAlign:String; //у всех этих переменных есть геттеры и сеттеры, но они без интересностей, //втупую возвращают значения. В дальнейшем хочу сделать что-то попродвинутее, //сейчас пока руки не дошли private var htmlStyle:HtmlStyles = new HtmlStyles();//тут по сути просто пакет шрифтов public function AdvTextField() { super(); embedFonts = true; selectable = false; wordWrap = true; multiline = true; width = 200; height = 30; this.antiAliasType = AntiAliasType.ADVANCED; this.setHtmlFormat("HelveticaR", 0x000000, 12); } override public function set text(_text:String): void { super.text = _text; refresh(); } private function refresh():void { this.htmlText = '<font face="' + htmlFont + '" color="' + htmlColor + '" size="' + htmlSize + '"><p align = "' + htmlAlign + '">' + this.text + '</p></font>'; } public function setHtmlFormat(font:String="HelveticaR",color:uint=0x000000,size:Number=12, align:String = "left"):void { _htmlColor = stringARGB(color); _htmlFont = font; _htmlSize = String(size); _htmlAlign = align; refresh(); } //********************** Ниже кому интересно посмотрит, но к вопросу это не относится. //********************** private static function getColor(num:Number):Object { var ob:Object = {}; ob.a = num >> 24 & 0xFF; ob.r = num >> 16 & 0xFF; ob.g = num >> 8 & 0xFF; ob.b = num & 0xFF; return ob; } private static function getHex(n:Number):String { return HEX.charAt((n >> 4) & 0xf) + HEX.charAt(n & 0xf); } private static function stringARGB(num:Number):String { var col:Object = getColor(num); //var a:String = getHex(col.a); var r:String = getHex(col.r); var g:String = getHex(col.g); var b:String = getHex(col.b); return String("#" + r.concat(g, b)); } } Переопределен сеттер text. Теперь если я делаю так: var text:AdvTextField = new AdvTextField(); text.setHtmlFormat("HelveticaR", 0x000000, 14, "left"); text.text = "1 абзац 2 абзац 4 абзац"; <P ALIGN="LEFT"> <FONT FACE="HelveticaR" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0">1 абзац</FONT> </P> <P ALIGN="LEFT"> <FONT FACE="HelveticaR" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0">2 абзац</FONT> <P ALIGN="LEFT"> <FONT FACE="HelveticaR" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0"></FONT> </P> <P ALIGN="LEFT"> <FONT FACE="HelveticaR" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0">4 абзац<FONT FACE="Times New Roman" SIZE="12"></FONT></FONT> </P> var text:AdvTextField = new AdvTextField(); text.text = "1 абзац 2 абзац 4 абзац"; text.setHtmlFormat("HelveticaR", 0x000000, 14, "left"); <P ALIGN="LEFT"> <FONT FACE="HelveticaR" SIZE="14" COLOR="#000000" LETTERSPACING="0" KERNING="0">1 абзац2 абзац4 абзац</FONT> </P> <P ALIGN="LEFT"> <FONT FACE="Times New Roman" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0"></FONT> </P> Нипанятна. Кто может объяснить и подсказать?
__________________
Кто к нам с чем для чего - тот у нас того от того. Последний раз редактировалось Dukobpa3; 01.02.2011 в 21:47. |
|
|||||
|
Guest
Сообщений: n/a
|
Цитата:
(..а время позднее на дворе..) Вот ошибки исправил, а шрифта то HelveticaR у меня и нет(. А текстовое поле все равно не выводится - addChild(text) нету. (..тик-так, тик-так..) Цитата:
|
|
|||||
|
Этот скомпилится. Чуток поправил.
Импорт Класса-пакета шрифтов убрал, всё-равно не поможет, но переделал всё под ариал. Во вложении. Цитата:
)Цитата:
Сейчас не готов ничего возразить или подтвердить.... Вообще хотел возразить, но не получится, ибо проверил таки. Завтра отпишусь.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Понравились пляски с бубном вокруг цвета))
__________________
Reality.getBounds(this); |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Цитата:
Последний раз редактировалось iNils; 02.02.2011 в 03:38. |
|
|||||
|
То копипаста откуда-то))) Та и сдвиг быстрее в разы работает (хотя сомнительно конечно, что установка цвета в текстовое поле будет делаться по ентерфрейму в цикле хотя бы из сотни повторений
)Спасибо за правочку)))
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Ага, интересный подход, спасибо))
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|