Как использовать символ из внешнего SWF как изображение в TextArea?

Я надеюсь, что кто-то сможет здесь помочь, поэтому прежде всего давайте посмотрим, в чем конкретно заключается моя проблема...

Мне бы хотелось вставить мувиклип из внешнего SWF-файла в мою текстовую область, но я думаю, что это не так просто, как я думал... потому что компоненты Textarea,TextFlow, к сожалению, практически непригодны для меня в этом отношении...

Я прочитал API Textarea и TextFlow, я много искал в Google и на некоторых форумах, но я не нашел решения своей проблемы.

Я нашел темы, похожие на эту, например: Использование символа из библиотеки в теге htmlText в ActionScript 3 http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000322.html

Я пробовал несколько способов обратиться к символу, но безрезультатно...

Вот мой код:

[Bindable]
/**
 * The text which will be displayed 
 **/
public var pblMessages:String = "";

<s:TextArea id="pblArea" left="10" right="242" top="241" bottom="55" editable="false" textFlow="{TextConverter.importToFlow(pblMessages,TextConverter.TEXT_FIELD_HTML_FORMAT)}" valueCommit="pblAreaCommitHandler(event)"> </s:TextArea>

Способ добавления новой строки:

private function submitText(keyPress:Boolean=false) :void {
            if (pblInput.text=="") {
                pblInput.setFocus();
                return;
            }
            var format:ElementFormat = new ElementFormat();
            var fontDescription:FontDescription = new FontDescription("Arial");
            format.fontSize = 11;
            format.fontDescription = fontDescription;

            var s:String = pblInput.text;
            var re: RegExp = new RegExp("\r|\n","gi");
            s = s.replace(re,"");
            var inlineGraphicElement:InlineGraphicElement = new InlineGraphicElement();
            inlineGraphicElement.source = Smileys.smi_kiss;

            var p:ParagraphElement = new ParagraphElement();
            p.addChild(inlineGraphicElement);
                            //pblArea.textFlow.addChild(p);
            pblMessages += "<font color='#000000'>" + s + "</font><img src='assets/testmovie.swf#smi_kiss' width='20' height='20'/><br/>";
            pblInput.text="";
    }

Если смайлик отображается в первом кадре в SWF, то он, конечно же, отображается (без символа) в TextArea... но я не хочу создавать 100 различных SWF-файлов... Я совершенно уверен, что смайлики может отображаться с помощью символов.

Спасибо заранее за вашу помощь.

1 ответ

Попробуйте создать полный TextFlow без использования TextConverter.importToFlow. После добавления inlineGraphicElement к p следует добавить SpanElement к p, а затем добавить текст в SpanElement.text, а затем назначить textFlow для pblArea.textFlow.

Другие вопросы по тегам