Пакет | flashx.textLayout.factory |
Класс | public class TextFlowTextLineFactory |
Наследование | TextFlowTextLineFactory TextLineFactoryBase Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Текстовые строки являются статичными и при создании умещаются в отдельном ограничивающем прямоугольнике, однако могут иметь несколько абзацев и форматов, а также включать вложенные графические элементы. Для создания объектов TextLine непосредственно из строки применяйте класс StringTextLineFactory.
Примечание. При использовании вложенных графических элементов в качестве значения свойства source
объекта InlineGraphicElement должен быть указан элемент DisplayObject или объект Class, представляющий встроенный ресурс. Применение объектов URLRequest недопустимо. Ширина и высота вложенного графического элемента в момент создания строки применяются для компоновки потока.
Связанные элементы API
Метод | Определено | ||
---|---|---|---|
Создает объект TextFlowTextLineFactory. | TextFlowTextLineFactory | ||
Объект TextFlow, на основе которого создаются строки. | TextFlowTextLineFactory | ||
Наименьший прямоугольник, в котором может уместиться размещаемое содержимое. | TextLineFactoryBase | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object |
TextFlowTextLineFactory | () | Конструктор |
public function TextFlowTextLineFactory()
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Создает объект TextFlowTextLineFactory.
createTextLines | () | метод |
public function createTextLines(callback:Function, textFlow:flashx.textLayout.elements:TextFlow):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10, AIR 1.5 |
Объект TextFlow, на основе которого создаются строки.
При компоновке текстовые строки располагаются в границах, назначенных свойству compositionBounds
. По мере создания каждой строки фабрика обеспечивает вызов функции, заданной в параметре callback
. Эта функция получает объект TextLine и применяется для отображения строки. Если строка имеет фоновый цвет, фабрика также выполняет вызов функции обратного вызова посредством объекта Shape, содержащего прямоугольник фонового цвета.
Обратите внимание на то, что политика прокрутки factory определяет, сколько строк генерируется.
Параметры
callback:Function — функция, вызываемая с каждым создаваемым объектом TextLine. Обратный вызов будет осуществляться посредством объекта Shape, содержащего любые данные о фоновом цвете (если таковые существуют), и элемента TextLine для текста.
| |
textFlow:flashx.textLayout.elements:TextFlow — Объект TextFlow, на основе которого создаются строки.
|
createTextLines()
вызывается дважды с использованием одной и той же фразы. Между вызовами осуществляется корректировка свойств фабрики и форматов потока для создания эффекта «отбрасывания тени».
package flashx.textLayout.factory.examples { import flash.display.Sprite; import flash.display.DisplayObject; import flash.geom.Rectangle; import flash.text.engine.TextLine; import flashx.textLayout.elements.ParagraphElement; import flashx.textLayout.elements.SpanElement; import flashx.textLayout.elements.TextFlow; import flashx.textLayout.factory.TextFlowTextLineFactory; import flashx.textLayout.formats.TextLayoutFormat; public class TextFlowTextLineFactory_example extends Sprite { public function TextFlowTextLineFactory_example() { var factory:TextFlowTextLineFactory = new TextFlowTextLineFactory(); factory.compositionBounds = new Rectangle( 100, 100, 200, 130 ); var flow:TextFlow = new TextFlow(); var format:TextLayoutFormat = new TextLayoutFormat(); format.fontFamily = "LilyUPC, Verdana, _sans"; format.fontSize = 32; format.color = 0x000000; format.textAlpha = .5; var span:SpanElement = new SpanElement(); span.text = "The quick brown fox jumped over the lazy dog."; span.format = format; var para:ParagraphElement = new ParagraphElement(); para.addChild( span ); flow.addChild( para ); factory.createTextLines( useTextLines, flow ); factory.compositionBounds = new Rectangle( 99, 99, 200, 130 ); format.color = 0x990000; format.textAlpha = 1; span.format = format; factory.createTextLines( useTextLines, flow ); graphics.beginFill(0x555555,.5); graphics.drawRect( 99, 99, 201, 131 ); graphics.endFill(); } private function useTextLines( lineOrShape:DisplayObject ):void { this.addChild( lineOrShape ); } } }
Tue Jun 12 2018, 11:34 AM Z