Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   TLFTextField и htmlText (http://www.flasher.ru/forum/showthread.php?t=151249)

JackFromChaos 25.02.2011 03:29

TLFTextField и htmlText
 
Доброго времени суток.
Сделал swc flash cs5 символ с tlftextfield. Подключил к flashDevelop.
Присваиваю
Код AS3:

tlf.htmlText='<img src="http://www.google.ru/images/nav_logo38.png">';

Картинка не появилась... ошибок никаких не выдает...
Пытался выкладывать swf на localhost и картинку туда же, ситуация та же. Пытался положить картинку в папку bin, и написать относительный путь. Та же фигня.

Где я ошибся? Что не так? Мой мозг уже отказывается работать :(

Кстати, такой код тоже не работает:
Код AS3:

css.parseCSS(".html {fontFamily:Arial; fontSize:12; color: #cccccc;}");
tlf.styleSheet = css;
tlf.htmlText = '<span class="html">Hello <b>world</b> !!!</span>';

Т.е. никаких ошибок, но стиль не подхватился... :(

Начинаю тихо ненавидеть TLFTextField.
Но очень хотелось воспользоваться его возможностью делать 2 колонки... Да и картинки якобы управляемые, в отличии от TextField...

Добавлено через 1 час 8 минут
Порылся еще в инете, нашел одно решение...
если тэгу img добавить width и height, то картинка появляется... Хотя это как то не правильно... Я не знаю размеров картинки... Хуже, я не знаю пропорций картинки... Может есть какое то другое решение?

И еще, я так понимаю TLFTextField категорически не поддерживает ccs? И ничего нельзя сделать?(я так понял, частично их поддерживает флексовая версия tlf. но я флексом не пользуюсь....)

Doctor76 25.02.2011 11:26

А где взять этот класс не подскажете?


Упс.. нашел

Добавлено через 44 минуты
Цитата:

styleSheet : StyleSheet
Текстовые поля TLF не поддерживают таблицы стилей.
Это из Хелпа

JackFromChaos 25.02.2011 12:40

Цитата:

Сообщение от Doctor76 (Сообщение 976004)
А где взять этот класс не подскажете?


Упс.. нашел

Добавлено через 44 минуты


Это из Хелпа

Да, я видел :( Но там вроде какие то новые версии выходили... по крайней мере я находил доки в которых это вроде уже не так... Правда я так и не понял, де взять новую версию. TLF новые версии я находил, а вот TLFTextField а там нет. Ну да бог с ними, со стилями... Неприятно, но можно обойтись...
А вот что с картинками сделать можно?

_sestra_ 25.02.2011 13:00

Дорогие мои, начиная с Flex SDK 4.0 появился замечательный класс FTETextField, доступный по пути: mx.core.FTETextField. Этот класс поддерживает CSS. Но есть несколько особенностей:
1. При использовании CSS он не может быть input
2. CSS нельзя применить в таком виде:
Код AS3:

css.parseCSS(".html {fontFamily:Arial; fontSize:12; color: #cccccc;}");
t.styleSheet = css;
t.htmlText = '<span class="html">Hello <b>world</b> !!!</span>';


Хемуль 25.02.2011 13:26

Хм...
Цитата:

Сообщение от _sestra_ (Сообщение 976025)
Дорогие мои, начиная с Flex SDK 4.0 появился замечательный класс FTETextField, доступный по пути: mx.core.FTETextField. Этот класс поддерживает CSS.

Цитата:

Сообщение от JackFromChaos (Сообщение 975969)
я флексом не пользуюсь....


_sestra_ 25.02.2011 13:32

Цитата:

Сделал swc flash cs5 символ с tlftextfield. Подключил к flashDevelop.
Цитата:

FlashDevelop — свободная среда разработки и редактор, написанный на C#, позволяющий создавать Flash-приложения при помощи Flex SDK, MTASC или haxe.
Ну как бы можно что-нибудь придумать...

alatar 25.02.2011 17:39

Цитата:

Сообщение от Хемуль (Сообщение 976046)
Хм...

Цитата:

Сообщение от _sestra_ (Сообщение 976051)
Ну как бы можно что-нибудь придумать...

FTETextField -> Sprite -> DisplayObjectContainer -> InteractiveObject -> DisplayObject -> EventDispatcher -> Object

Цитата:

FTETextField является спрайтом, отображающим текст с использованием нового Flash Text Engine для реализации старого API TextField.

JackFromChaos 25.02.2011 20:12

А подскажите, в какой swc он хранится? или его можно отдельно сбилдить как swc выдрав часть исходников из Flex SDK?
И как там обстоит дело с картинками?

alatar 25.02.2011 20:58

Цитата:

А подскажите, в какой swc он хранится?
В spark.swc

Добавлено через 15 минут
А TLFTextField хранится в c:\Program Files\Adobe\Adobe Flash CS5\Common\Configuration\ActionScript 3.0\libs\tlfruntime.swc
Увы исходники его адоби зажали, сравнить не получится, но FTETextField тоже использует TLF для рендеринга текста. Насчет картинок понятия не имею. Попробуете, напишите.

JackFromChaos 26.02.2011 01:49

Мда, подключил FTETextField , стили заработали... Картинки перестали показываться в принципе, даже при заданном размере, как в TLFTextField.
Т.е. в TLFTextField работает:
Код AS3:

tlf.htmlText = '<img src="http://www.google.ru/images/nav_logo38.png" width=250 height=250>';

но не работает
Код AS3:

tlf.htmlText = '<img src="http://www.google.ru/images/nav_logo38.png">';

В FTETextField не работает ни то, ни другое... :(

Добавлено через 18 минут
Немного смущает в документации от адобы по FTETextField вот этом:
Цитата:

В отношении содержимого AIR в изолированной программной среде безопасности приложения AIR игнорирует теги img в HTML-содержимом объектов TextField в ActionScript. Это позволяет избежать фишинг-атак.
Может оно думает что приложение AIR? Но как с этим бороться? Хоть бы ругнулась на безопасность, если проблема в этом... а то ведь ничего не говорит, просто нет картинки, и все... :(

Может есть какая нибудь либа позволяющая обычный TextField на 2 колонки разбить? Только текст внутри= html с картинками... Если бы был просто текст, я бы и сам сделал, там не сложно... Но вот с HTML как это сделать я не придумал... кроме как попытаться вставить все в один TextField а потом порезать в виде картинок используя инфу о строках... Но даже при таком извратном варианты(он мне абсолютно не нравится), нет никакой гарантии что я не разрежу посреди картинки...


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

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