Форматированный текст во flash

#flash #actionscript-3

#flash #actionscript-3

Вопрос:

Возможно ли форматировать текст или форматированный текстовый документ (. doc) для переноса во flash в текстовое поле

Комментарии:

1. Какого рода форматирование?

2. жирный шрифт, курсив, размер, выравнивание, семейство шрифтов,…

3. из комментариев в ответе кажется, что вы не ищете простого форматирования в текстовом поле. Если я правильно понимаю, вы ищете что-то, что будет анализировать некоторый формат (возможно, doc), а затем отображать это в текстовом поле с надлежащим форматированием. И этот файл будет отредактирован кем-то, кто не знаком с программированием. Пожалуйста, отредактируйте вопрос, чтобы другие люди не запутались.

Ответ №1:

TextField поддерживает некоторое форматирование HTML. Для этого вам нужно использовать свойство htmlText. Он поддерживает жирный шрифт, курсив и т.д. Но шрифт должен быть доступен в системе или встроен. И img тег поддерживается не полностью.

Комментарии:

1. да, но это не решение для тех, кто не умеет работать с HTML или CSS.

2. Если кто-то работает с flash, то он должен знать минимальный HTML. Вам не нужны обширные знания, достаточно минимальных знаний о том, как использовать HTML-теги.

3. Форматирование в текстовом поле, отличное от HTML, невозможно. В FP 10 реализовано расширенное форматирование текста, называемое Text Layout Framework, но это не TextField. Изучение базового HTML может быть проще, чем переход на TLF.

4. Документ можно сохранить как HTML с помощью MS Word, но это приводит к очень сложному html, который может увеличить текстовое поле. Люди пишут сложные конвертеры для достижения функции вставки из word. Вам лучше изучить HTML, чтобы создавать форматированный текст во Flash.

5. @taskinoor: Я работаю с flash, но человеку, для которого я это делаю, нужно просто отредактировать текстовый файл для него, а я не тот человек.

Ответ №2:

Есть некоторые вещи, которые текстовое поле не может выполнить. Одно можно сказать наверняка: вы не можете изменить цвет фона для каждого символа. Но на самом деле вы можете выполнить форматирование на тонну больше, чем люди, очевидно, думают.

Это ОЧЕНЬ быстрый и грязный прототип, чтобы показать вам, как это работает в принципе.

 package src 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.text.TextField;
    import flash.text.TextFormat;

    public class Main extends Sprite 
    {
        private var tf:TextField;
        private var tform:TextFormat;
        private var iForm:TextFormat;

        public function Main() 
        {
            addEventListener(Event.ADDED_TO_STAGE, initMain);
        }

        private function initMain(e:Event):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, initMain);

            tform = new TextFormat("Arial", 12, 0);
            iForm = new TextFormat("Arial", 12, 0xff0000, true, true);

            tf = new TextField();
            tf.defaultTextFormat = tform;
            tf.text = "A sentence is just a sentence.";
            tf.x = 100;
            tf.y = 100;
            tf.width = 300;
            addChild(tf);

            tf.setTextFormat(iForm, 2, 10);

            // We can even change the TextFormat we used just one line above and 
            // reuse it for a completely different format. Finding out the starting
            // and ending indexes isn't hard either. There are a few options. RegEx being my go to guy.
            iForm.color = 0x0000ff;
            iForm.size = 20;
            iForm.italic = false;
            tf.setTextFormat(iForm, 20, 29);
            tf.appendText(" And yet some added text doesn't mess it up!");
        }
    }
}
  

надеюсь, это поможет!

Если вам нужно больше того, что может дать вам текстовое поле, вам придется использовать TLF. (что тоже потрясает.)

Ответ №3:

Вы не можете сделать это непосредственно из файла .doc. Вы можете сделать это, используя ограниченное подмножество HTML. TextField.htmltext поддерживает

< a> ссылки

< b > выделен жирным шрифтом

< i > курсив

< u> подчеркивание

< img> встроенные изображения

< начертание шрифта= «Arial» размер= «18» цвет = «#FFCC00»> Теги начертания шрифта.

< ul >< li > неупорядоченные списки (маркированные пункты)

Таким образом, вы можете импортировать форматированный текст, если при форматировании используются вышеуказанные HTML-теги. Если вы вводите текст из XML — часто бывает полезно обернуть импортированный текст в тег, чтобы избежать экранирования символов, таких как «<» и «amp;».